1954
Comment:
|
1827
+cat
|
Deletions are marked like this. | Additions are marked like this. |
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 11: | Line 11: |
{{{ $ hg clone http://www.serpentine.com/hg/hello my-hello }}} ['''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 |
Let's clone a small "hello, world" repository hosted at selenic.com: |
Line 19: | Line 14: |
$ hg clone http://selenic.com/hg my-hg-clone | $ hg clone http://www.selenic.com/repo/hello my-hello |
Line 21: | Line 16: |
to try things out whith an already working repository. WARNING, this repository is not the smallest thing out there.] | |
Line 23: | Line 17: |
If all goes well, the {{{clone}}} command prints no output. We should now find a directory called {{{my-hello}}} in our current directory: | If all goes well, the {{{clone}}} command prints this: |
Line 26: | Line 20: |
$ ls my-hello |
requesting all changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 2 files |
Line 29: | Line 26: |
Inside the {{{my-hello}}} directory, we'll find some files: | We should now find a directory called {{{my-hello}}} in our current directory: |
Line 32: | Line 30: |
$ ls my-hello hello.c Makefile |
$ ls my-hello |
Line 35: | Line 33: |
Inside the {{{my-hello}}} directory, we should find some files: {{{ $ ls my-hello Makefile hello.c }}} |
|
Line 37: | 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 40: | 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.