Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2005-08-26 00:58:38
Size: 2110
Editor: waste
Comment:
Revision 5 as of 2005-08-26 01:37:09
Size: 2116
Editor: waste
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== ["Tutorial"] - sharing a change with another repository == == Tutorial - sharing a change with another repository ==
Line 3: Line 3:
In TutorialFirstChange, we created a ChangeSet in the ''my-hello-new-output'' ["Repository"]. Now we want to propagate that change somewhere else. In TutorialFirstChange, we created a ChangeSet in the {{{my-hello-new-output}}} ["Repository"]. Now we want to propagate that change somewhere else.
Line 11: Line 11:

We can use the ''tip'' command to find out what the ["Tip"] (remember, the most recent ChangeSet) in each ["Repository"] is. We pass in the ''-q'' option to keep ["Mercurial"] from printing a complete description of the ["Tip"].
We can use the {{{tip}}} command to find out what the ["Tip"] (remember, the most recent ChangeSet) in each ["Repository"] is. We pass in the {{{-q}}} option to keep ["Mercurial"] from printing a complete description of the ["Tip"].
Line 22: Line 21:

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.
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.
Line 36: Line 34:
Unlike other ["Mercurial"] commands, {{{pull}}} is chatty. In this case, the ["Pull"] has succeeded.
Line 37: Line 36:
Unlike other ["Mercurial"] commands, ''pull'' is chatty. In this case, the ["Pull"] has succeeded.

The last line of output is significant. 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.
The last line of output is significant. 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.
Line 46: Line 43:

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

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, we will 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"] (remember, the most recent ChangeSet) in each ["Repository"] is. We pass in the -q option to keep ["Mercurial"] from printing a complete description of the ["Tip"].

 $ cd my-hello-share
 $ hg -q tip
 2:bd2fb7137c85cd5e6b04db4c72a45699e0d90ea9
 $ cd ../my-hello-new-output
 $ hg -q tip
 3:da99cce05957f7a62b74d345fd55365dc33109f0

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 revisions
 modified 1 files, added 1 changesets and 1 new revisions
 (run 'hg update' to get a working copy)

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

The last line of output is significant. 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 updated during the ["Pull"]) by following ["Mercurial"]'s reminder:

 $ hg update

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)