Size: 1870
Comment:
|
Size: 1714
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
== [Tutorial] - sharing a change with another person == | == Tutorial - sharing a change with another person == |
Line 3: | Line 3: |
In TutorialShareChange, we learned how to propagate a ChangeSet from one repository to another. ["Mercurial"] provides several ways of sharing changes between people, but one of the most common is through email. |
In TutorialShareChange, we learned how to propagate a ChangeSet from one ["Repository"] to another. There are other ways of sharing changes between repositories and people, one of the most common is through email. |
Line 9: | Line 7: |
To ["Export"] a change, we use the {{{export}}} command. We must provide a ["Tag"], RevisionNumber or ChangeSetID to tell ["Mercurial"] what to ["Export"]. In our case, we want to ["Export"] the ["Tip"]. By default, ["Export"] just displays the patch, so we redirect the output to a file. At this point, we should still be in the my-hello-share directory. |
To export a change, we use the {{{export}}} command. We must provide a ["Tag"], RevisionNumber or ["ChangeSetID"] to tell Mercurial what to export. In our case, we want to export the ["Tip"]. Provided we're still in the {{{my-hello-share}}} directory, let's do just that. |
Line 14: | Line 10: |
$ hg export tip > /tmp/my-patch $ cat /tmp/my-patch # HG changeset patch # User bos@camp4.serpentine.com # Node ID da99cce05957f7a62b74d345fd55365dc33109f0 # Parent bd2fb7137c85cd5e6b04db4c72a45699e0d90ea9 Express great joy at existence of Mercurial diff -r bd2fb7137c85 -r da99cce05957 hello.c --- a/hello.c Wed Jun 29 19:04:20 2005 +++ b/hello.c Wed Jun 29 19:58:37 2005 @@ -12,5 +12,6 @@ int main(int argc, char **argv) { printf("hello, world!\n"); + printf("sure am glad I'm using Mercurial!\n"); return 0; } |
$ hg export tip # HG changeset patch # User mpm@selenic.com # Node ID a58809af174d89a3afbbbb48008d34deb30d8574 # Parent 82e55d328c8ca4ee16520036c0aaace03a5beb65 Express great joy at existence of Mercurial diff -r 82e55d328c8c -r a58809af174d hello.c --- a/hello.c Fri Aug 26 08:21:28 2005 +++ b/hello.c Fri Aug 26 08:26:28 2005 @@ -12,5 +12,6 @@ int main(int argc, char **argv) { printf("hello, world!\n"); + printf("sure am glad I'm using Mercurial!\n"); return 0; } |
Line 32: | Line 28: |
This file is a PatchFile in UnifiedDiff format, with some extra information that tells ["Mercurial"] how to ["Import"] it. | |
Line 34: | Line 29: |
When the recipient receives our email, they will save the attachment and use the {{{import}}} command to ["Import"] the ChangeSet into their ["Repository"]. (As of version 0.6c, ["Mercurial"] ignores some of this information on import making imports that involve merges problematic.) | By default, {{{export}}} just displays the patch, so usually we redirect the output to a file. This file is a PatchFile in UnifiedDiff format, with some extra information that tells Mercurial how to ["Import"] it. |
Line 36: | Line 31: |
Let's put ourselves in the position of that recipient, and learn how to ["Merge"] a change, in TutorialMerge. | When the recipient receives our email, they will save the attachment and use the {{{import}}} command to import the changeset into their repository. Let's put ourselves in the position of such a recipient, and learn how to ["Merge"] a change in TutorialMerge. ---- CategoryTutorial |
Tutorial - sharing a change with another person
In TutorialShareChange, we learned how to propagate a ChangeSet from one ["Repository"] to another. There are other ways of sharing changes between repositories and people, one of the most common is through email.
After we have ["Commit"]ted a change, we can ["Export"] it to a file, and email the file as an attachment to someone else.
To export a change, we use the export command. We must provide a ["Tag"], RevisionNumber or ["ChangeSetID"] to tell Mercurial what to export. In our case, we want to export the ["Tip"]. Provided we're still in the my-hello-share directory, let's do just that.
$ hg export tip # HG changeset patch # User mpm@selenic.com # Node ID a58809af174d89a3afbbbb48008d34deb30d8574 # Parent 82e55d328c8ca4ee16520036c0aaace03a5beb65 Express great joy at existence of Mercurial diff -r 82e55d328c8c -r a58809af174d hello.c --- a/hello.c Fri Aug 26 08:21:28 2005 +++ b/hello.c Fri Aug 26 08:26:28 2005 @@ -12,5 +12,6 @@ int main(int argc, char **argv) { printf("hello, world!\n"); + printf("sure am glad I'm using Mercurial!\n"); return 0; }
By default, export just displays the patch, so usually we redirect the output to a file. This file is a PatchFile in UnifiedDiff format, with some extra information that tells Mercurial how to ["Import"] it.
When the recipient receives our email, they will save the attachment and use the import command to import the changeset into their repository.
Let's put ourselves in the position of such a recipient, and learn how to ["Merge"] a change in TutorialMerge.