Differences between revisions 7 and 17 (spanning 10 versions)
Revision 7 as of 2005-08-26 01:36:36
Size: 1954
Editor: waste
Comment:
Revision 17 as of 2008-04-19 20:10:56
Size: 1902
Editor: abuehl
Comment: update for Mercurial 1.0
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 5: Line 5:
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. In Mercurial, we do all of our work inside a [:Repository: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.
Line 7: Line 7:
The easiest way to get started with ["Mercurial"] is to use a ["Repository"] that already contains some files and some history. The easiest way to get started with Mercurial is to use a repository that already contains some files and some history.
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: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 14: Line 16:
['''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.]
Line 16: Line 17:
[Until this fix is in place, one can use If all goes well, the {{{clone}}} command prints this (Mercurial 1.0):
Line 19: 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
updating working directory
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Line 21: Line 28:
to try things out whith an already working repository. WARNING, this repository is not the smallest thing out there.]
Line 23: Line 29:
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 26: Line 32:
 $ ls
 my-hello
$ ls
my-hello
Line 29: Line 35:
Inside the {{{my-hello}}} directory, we'll find some files:
Inside the {{{my-hello}}} directory, we should find some files:
Line 32: Line 39:
 $ ls my-hello
 hello.c  Makefile
$ ls my-hello
Makefile hello.c
Line 35: Line 42:
These files are exact copies of the files in the ["Repository"] we just ["Clone"]d.
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. These files are exact copies of the files in the repository we just cloned.
Line 39: Line 45:
At this point, we can start examining some of the history of our new ["Repository"], by continuing to TutorialHistory. '''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:pulling] or [:Push:pushing].

At this point, we can start examining some of the history of our new repository, by continuing to TutorialHistory.

----
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: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: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 (Mercurial 1.0):

requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
updating working directory
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

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

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:pulling] or [:Push:pushing].

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)