Differences between revisions 6 and 11 (spanning 5 versions)
Revision 6 as of 2005-08-26 01:33:28
Size: 1962
Editor: waste
Comment:
Revision 11 as of 2005-09-21 22:48:14
Size: 1764
Editor: AdrienBeau
Comment: Minor cleanups
Deletions are marked like this. Additions are marked like this.
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 20: Line 14:
 $ hg clone http://selenic.com/hg my-hg-clone $ hg clone http://www.selenic.com/repo/hello my-hello
}}}
Line 22: Line 17:
}}}
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:
If all goes well, the {{{clone}}} command prints this:
Line 28: 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 31: Line 27:
}}}
Inside the {{{my-hello}}} directory, we'll find some files:
We should now find a directory called {{{my-hello}}} in our current directory:
Line 35: Line 30:
 $ ls my-hello
 hello.c Makefile
$ ls
my-hello
}}}
Line 38: Line 34:
Inside the {{{my-hello}}} directory, we should find some files:

{{{
$ ls my-hello
Makefile hello.c
Line 39: Line 40:
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.

Tutorial - cloning a repository

We 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.

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

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