Differences between revisions 7 and 9 (spanning 2 versions)
Revision 7 as of 2005-09-21 21:24:12
Size: 2068
Editor: AdrienBeau
Comment: Updated to Mercurial 0.7 output
Revision 9 as of 2008-01-04 14:31:48
Size: 2162
Editor: abuehl
Comment: +cat
Deletions are marked like this. Additions are marked like this.
Line 45: Line 45:
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Line 50: Line 51:

Tutorial - sharing a change with another repository

In TutorialFirstChange, we created a ChangeSet in the my-hello-new-output ["Repository"]. Now we want to propagate that change somewhere else.

Following good ["Mercurial"] style, let's first ["Clone"] our original ["Repository"].

$ cd ..
$ hg clone my-hello my-hello-share

We can use the tip command to find out what the ["Tip"] in each ["Repository"] is. (Remember, the ["Tip"] is the most recent ChangeSet.) We pass in the -q ("be quiet") option to keep ["Mercurial"] from printing a complete description of the ["Tip"].

$ cd my-hello-share
$ hg -q tip
$ cd ../my-hello-new-output
$ hg -q tip

As we can see, the ["Tip"] is different in each. Let's go back to my-hello-share and propagate our new ChangeSet in there. To do this, we use the pull command, which ["Pull"]s all ["ChangeSet"]s that are in the other repository, but not yet in this one, into this one.

$ cd ../my-hello-share
$ hg pull ../my-hello-new-output
pulling from ../my-hello-new-output
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)

Unlike other common ["Mercurial"] commands, pull is chatty. In this case, the ["Pull"] has succeeded.

The last line of output is important. By default, ["Mercurial"] does not update the WorkingDirectory after a ["Pull"]. This means that although the ["Repository"] now contains the ChangeSet, the file hello.c in the WorkingDirectory still has its old pre-["Pull"] contents.

We can ["Update"] this file (and any others that were changed during the ["Pull"]) by following ["Mercurial"]'s reminder:

$ hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved

At this point, we can check and see that my-hello-share and my-hello-new-output have identical contents and revision histories.

To share a change with another person, we continue to TutorialExport.


TutorialShareChange (last edited 2012-11-11 19:48:16 by abuehl)