Tutorial - Änderungen einer einzelnen anderen Person zukommen lassen
GermanTutorialShareChange hat beschrieben, wie wir [:ChangeSet:Changesets] zwischen [:Repository:Repositories] austauschen können. Es gibt noch andere Möglichkeiten, Änderungen zwischen Repositories und Leuten auszutauschen. Häufig ist z.B. per Email.
Nachdem wir eine Änderung [:Commit:committed] haben, können wir sie in eine Datei [:Export:exportieren], und diese dann als Anhang jemandem anderen schicken.
Dazu gibt es das export-Kommando. Damit Mercurial weiß, was es exportieren soll, geben wir einen [:Tag:Tag], eine [:RevisionNumber:Revisionsnummer] oder eine [:ChangeSetID:Changeset ID] an. In unserem Fall wollen wir den [:Tip:Tip] exportieren. Vorausgesetzt, daß wir immer noch im my-hello-share Verzeichnis sind, können wir das so machen:
$ 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; }
export zeigt dabei die Änderung einfach an, d.h. üblicherweise leiten wir die Ausgabe in eine Datei um. Diese Datei ist dann eine [:PatchFile:Patchdatei] im [:UnifiedDiff:unified diff] Format mit ein paar Zusatzinformationen, damit Mercurial weiß, wie die Änderungen wieder zu [:Import:importieren] sind.
Der Empfänger unserer EMail kann dann den Anhang speichern und mit dem import-Kommando die Changesets in sein Repository einpflegen.
Nehmen wir jetzt an, daß wir der Empfänger einer Email sind und lernen auf GermanTutorialMerge, wie man mehrere Änderungen zusammenfügt.