Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2005-08-26 00:57:59
Size: 1957
Editor: waste
Comment:
Revision 14 as of 2008-01-04 14:20:21
Size: 1827
Editor: abuehl
Comment: +cat
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== ["Tutorial"] - cloning a repository == == Tutorial - cloning a repository ==
Line 3: Line 3:
We have followed TutorialInstall to install ["Mercurial"] already, right? Good! You have followed TutorialInstall to install ["Mercurial"] already, right? Good!
Line 9: Line 9:
To do this, we use the ''clone'' command. This makes a ["Clone"] of a ["Repository"]; it makes a complete copy of another ["Repository"] so that we will have our own local, private one to work in. To do this, we use the {{{clone}}} command. This makes a ["Clone"] of a ["Repository"]; it makes a complete copy of another ["Repository"] so that we will have our own local, private one to work in.

Let's clone a small "hello, world" repository hosted at selenic.com:
Line 12: Line 14:
 $ hg clone http://www.serpentine.com/hg/hello my-hello $ hg clone http://www.selenic.com/repo/hello my-hello
Line 15: Line 17:
['''Note''': sorry, but this isn't a real URL yet, because ["Mercurial"] doesn't yet allow you to ["Serve"] multiple repositories using a single daemon. I'm working on a fix.]

[Until this fix is in place, one can use
If all goes well, the {{{clone}}} command prints this:
Line 20: Line 20:
 $ hg clone http://selenic.com/hg my-hg-clone requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
Line 23: Line 27:
to try things out whith an already working repository. WARNING, this repository is not the smallest thing out there.]

If all goes well, the ''clone'' command prints no output. We should now find a directory called ''my-hello'' in our current directory:
We should now find a directory called {{{my-hello}}} in our current directory:
Line 28: Line 30:
 $ ls
 my-hello
$ ls
my-hello
Line 32: Line 34:
Inside the ''my-hello'' directory, we'll find some files: Inside the {{{my-hello}}} directory, we should find some files:
Line 35: Line 37:
 $ ls my-hello
 hello.c  Makefile
$ ls my-hello
Makefile hello.c
Line 41: Line 43:
'''Note''': in ["Mercurial"], each ["Repository"] is self-contained. When you ["Clone"] a ["Repository"], the new ["Repository"] becomes an exact copy of the existing one at the time of the ["Clone"], but subsequent changes in either one /will not show up/ in the other unless you explicitly transfer them. '''Note:''' in ["Mercurial"], each ["Repository"] is self-contained. When you ["Clone"] a ["Repository"], the new ["Repository"] becomes an exact copy of the existing one at the time of the ["Clone"], but subsequent changes in either one ''will not show up'' in the other unless you explicitly transfer them, by either ["Pull"]ing or ["Push"]ing.
Line 44: Line 46:
----
CategoryTutorial

Tutorial - cloning a repository

You have followed TutorialInstall to install ["Mercurial"] already, right? Good!

In ["Mercurial"], we do all of our work inside a ["Repository"]. A ["Repository"] is a directory that contains all of the source files that we want to keep history of, along with complete histories of those source files.

The easiest way to get started with ["Mercurial"] is to use a ["Repository"] that already contains some files and some history.

To do this, we use the clone command. This makes a ["Clone"] of a ["Repository"]; it makes a complete copy of another ["Repository"] so that we will have our own local, private one to work in.

Let's clone a small "hello, world" repository hosted at selenic.com:

$ hg clone http://www.selenic.com/repo/hello my-hello

If all goes well, the clone command prints this:

requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files

We should now find a directory called my-hello in our current directory:

$ ls
my-hello

Inside the my-hello directory, we should find some files:

$ ls my-hello
Makefile  hello.c

These files are exact copies of the files in the ["Repository"] we just ["Clone"]d.

Note: in ["Mercurial"], each ["Repository"] is self-contained. When you ["Clone"] a ["Repository"], the new ["Repository"] becomes an exact copy of the existing one at the time of the ["Clone"], but subsequent changes in either one will not show up in the other unless you explicitly transfer them, by either ["Pull"]ing or ["Push"]ing.

At this point, we can start examining some of the history of our new ["Repository"], by continuing to TutorialHistory.


CategoryTutorial

TutorialClone (last edited 2015-10-28 15:22:27 by alishamsulqamar)