Differences between revisions 1 and 13 (spanning 12 versions)
Revision 1 as of 2005-08-26 00:58:38
Size: 2110
Editor: waste
Comment:
Revision 13 as of 2008-05-07 09:47:09
Size: 2391
Editor: abuehl
Comment: adding navigation on top
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. ''(This page is part 5 of 9 of the [:Tutorial] series. Previous part is [:TutorialFirstChange], next part is [:TutorialExport])''
Line 5: Line 5:
Following good ["Mercurial"] style, we will first ["Clone"] our original ["Repository"]. In [:TutorialFirstChange], we created a [:ChangeSet:changeset] in the `my-hello-new-output` [:Repository:repository]. Now we want to propagate that change somewhere else.

Following good Mercurial style, let's first [:Clone:clone] our original repository.
Line 8: Line 10:
 $ cd ..
 $ hg clone my-hello my-hello-share
$ cd ..
$ hg clone my-hello my-hello-share
updating working directory
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Line 12: Line 16:
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: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.
Line 15: Line 19:
 $ cd my-hello-share
 $ hg -q tip
 2:bd2fb7137c85cd5e6b04db4c72a45699e0d90ea9
 $ cd ../my-hello-new-output
 $ hg -q tip
 3:da99cce05957f7a62b74d345fd55365dc33109f0
$ cd my-hello-share
$ hg -q tip
1:82e55d328c8c
$ cd ../my-hello-new-output
$ hg -q tip
2:86794f718fb1
Line 23: Line 27:
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:pulls] all changesets that are in the other repository, but not yet in this one, into this one.
Line 26: Line 30:
 $ 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
 modifi
ed 1 files, added 1 changesets and 1 new revisions
 
(run 'hg update' to get a working copy)
$ 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
add
ed 1 changesets with 1 changes to 1 files
(run 'hg update' to get a working copy)
Line 37: Line 41:
Unlike other ["Mercurial"] commands, ''pull'' is chatty. In this case, the ["Pull"] has succeeded. Unlike other common Mercurial commands, `pull` is chatty. In this case, the pull has succeeded.
Line 39: Line 43:
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 important. By default, Mercurial does not update the [:WorkingDirectory:working directory] after a pull. This means that although the repository now contains the changeset, the file `hello.c` in the working directory still has its old pre-pull contents.
Line 41: Line 45:
We can ["Update"] this file (and any others that were updated during the ["Pull"]) by following ["Mercurial"]'s reminder: We can [:Update:update] this file (and any others that were changed during the pull) by following Mercurial's reminder (we use the abbreviation `up`):
Line 44: Line 48:
 $ hg update $ hg up
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Line 47: Line 52:
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.
Line 49: Line 54:
To share a change with another person, we continue to TutorialExport. To share a change with another person, we continue to [:TutorialExport].

----
CategoryTutorial

Tutorial - Sharing a change with another repository

(This page is part 5 of 9 of the [:Tutorial] series. Previous part is [:TutorialFirstChange], next part is [:TutorialExport])

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

Following good Mercurial style, let's first [:Clone:clone] our original repository.

$ cd ..
$ hg clone my-hello my-hello-share
updating working directory
2 files updated, 0 files merged, 0 files removed, 0 files unresolved

We can use the tip command to find out what the [:Tip: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
1:82e55d328c8c
$ cd ../my-hello-new-output
$ hg -q tip
2:86794f718fb1

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:pulls] all changesets 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:working directory] after a pull. This means that although the repository now contains the changeset, the file hello.c in the working directory still has its old pre-pull contents.

We can [:Update:update] this file (and any others that were changed during the pull) by following Mercurial's reminder (we use the abbreviation up):

$ hg up
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].


CategoryTutorial

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