Differences between revisions 6 and 7
Revision 6 as of 2008-01-15 23:33:22
Size: 6702
Editor: abuehl
Comment: #language de
Revision 7 as of 2009-05-19 19:31:00
Size: 6704
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Wir sind den Anweisungen in GermanTutorialClone gefolgt und haben ein ["Repository"] geklont; unsere lokale Kopie heißt {{{my-hello}}}. Wir sind den Anweisungen in GermanTutorialClone gefolgt und haben ein [[Repository]] geklont; unsere lokale Kopie heißt {{{my-hello}}}.
Line 7: Line 7:
Werfen wir einen Blick auf die History dieses Repository. Dazu verwenden wir den {{{log}}}-Befehl. Der zeigt eine Zusammenfassung aller Ereignisse an, die in dem ["Repository"] stattgefunden haben, zuerst das jüngste und dann rückwärts durch die Geschichte zu immer älteren Ereignissen. Werfen wir einen Blick auf die History dieses Repository. Dazu verwenden wir den {{{log}}}-Befehl. Der zeigt eine Zusammenfassung aller Ereignisse an, die in dem [[Repository]] stattgefunden haben, zuerst das jüngste und dann rückwärts durch die Geschichte zu immer älteren Ereignissen.
Line 27: Line 27:
   * In unserem Fall besteht die History des ["Repository"]s aus zwei ["ChangeSet"]s.    * In unserem Fall besteht die History des [[Repository]]s aus zwei [[ChangeSet]]s.
Line 29: Line 29:
   * Die Zahl vor dem Doppelpunkt ist eine RevisionNumber, eine lokale Abkürzung für den ChangeSet. Sie gilt nur innerhalb dieses ["Repository"]s.    * Die Zahl vor dem Doppelpunkt ist eine RevisionNumber, eine lokale Abkürzung für den ChangeSet. Sie gilt nur innerhalb dieses [[Repository]]s.
Line 31: Line 31:
 * {{{tag}}} ist ein ["Tag"], ein frei gewählter Name für einen ChangeSet.
   * Sie können jedem beliebigen ChangeSet eien oder mehrere ["Tag"]s zuweisen. In der Praxis besitzen nicht viele ["ChangeSet"]s ["Tag"]s, somit ist die {{{tag}}}-Zeile selten vorhanden.
   * Ein besonderes ["Tag"] namens {{{tip}}} markiert immer den ["Tip"] (für "Spitze"), also den jüngsten ChangeSet im ["Repository"]. Wenn wir einen weiteren ChangeSet erzeugen (was wir bald tun werden), wird dieser der neue ["Tip"].
 * {{{tag}}} ist ein [[Tag]], ein frei gewählter Name für einen ChangeSet.
   * Sie können jedem beliebigen ChangeSet eien oder mehrere [[Tag]]s zuweisen. In der Praxis besitzen nicht viele [[ChangeSet]]s [[Tag]]s, somit ist die {{{tag}}}-Zeile selten vorhanden.
   * Ein besonderes [[Tag]] namens {{{tip}}} markiert immer den [[Tip]] (für "Spitze"), also den jüngsten ChangeSet im [[Repository]]. Wenn wir einen weiteren ChangeSet erzeugen (was wir bald tun werden), wird dieser der neue [[Tip]].
Line 37: Line 37:
 * {{{parent}}} bezeichnet die Eltern-["ChangeSet"]s, falls es davon mehr als einen gibt; das kommt vor, wenn Sie Änderungen aus mehreren Repositorys zusammenführen ("merge").
   * Meist gibt es nur einen Eltern-["ChangeSet"], nämlich den nächstälteren. So is es auch in unserem obigen Beispiel.
 * {{{parent}}} bezeichnet die Eltern-[[ChangeSet]]s, falls es davon mehr als einen gibt; das kommt vor, wenn Sie Änderungen aus mehreren Repositorys zusammenführen ("merge").
   * Meist gibt es nur einen Eltern-[[ChangeSet]], nämlich den nächstälteren. So is es auch in unserem obigen Beispiel.
Line 81: Line 81:
 * {{{manifest}}} liefert die ["Manifest"] ID für den ChangeSet.  * {{{manifest}}} liefert die [[Manifest]] ID für den ChangeSet.
Line 96: Line 96:
<!> Die {{{-r}}}-Option stellt eine sehr flexible Syntax zur Auswahl von Changesets oder Changeset-Folgen bereit. In unserem Besipielrepository haben wir leider zu wenig Changesets, um das gut demonstrieren zu können. Bitte entnehmen Sie weitere Informationen der [http://www.selenic.com/mercurial/hg.1.html Manpage] von Mercurial. <!> Die {{{-r}}}-Option stellt eine sehr flexible Syntax zur Auswahl von Changesets oder Changeset-Folgen bereit. In unserem Besipielrepository haben wir leider zu wenig Changesets, um das gut demonstrieren zu können. Bitte entnehmen Sie weitere Informationen der [[http://www.selenic.com/mercurial/hg.1.html|Manpage]] von Mercurial.

Tutorial - Die Vorgeschichte ("History") eines Repositorys erkunden

Wir sind den Anweisungen in GermanTutorialClone gefolgt und haben ein Repository geklont; unsere lokale Kopie heißt my-hello.

Werfen wir einen Blick auf die History dieses Repository. Dazu verwenden wir den log-Befehl. Der zeigt eine Zusammenfassung aller Ereignisse an, die in dem Repository stattgefunden haben, zuerst das jüngste und dann rückwärts durch die Geschichte zu immer älteren Ereignissen.

$ cd my-hello
$ hg log
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

changeset:   0:0a04b987be5a
user:        mpm@selenic.com
date:        Fri Aug 26 01:20:50 2005 -0700
summary:     Create a standard "hello, world" program

Die ausgegebenen Zeilen erfordern eine Erklärung.

  • Jeder Absatz beschreibt einen einzelnen ChangeSet. Ein ChangeSet ist die Änderung einer oder mehrer Dateien, zusammengefasst zu einer logischen Einheit.

  • changeset ist die eindeutige Bezeichnung eines ChangeSet.

    • Die Zahl vor dem Doppelpunkt ist eine RevisionNumber, eine lokale Abkürzung für den ChangeSet. Sie gilt nur innerhalb dieses Repositorys.

    • Die lange Hexadezimalzahl hinter dem Doppelpunkt ist die ChangeSetID; sie stellt eine eindeutige Bezeichnung des [ChangeSet]s dar und ist gleich in allen Repositories, die diesen ChangeSet enthalten. Wenn Sie mit jemandem über einen ChangeSet diskutieren wollen, benutzen Sie die ChangeSetID, nicht die RevisionNumber.

  • tag ist ein Tag, ein frei gewählter Name für einen ChangeSet.

    • Sie können jedem beliebigen ChangeSet eien oder mehrere Tags zuweisen. In der Praxis besitzen nicht viele ChangeSets Tags, somit ist die tag-Zeile selten vorhanden.

    • Ein besonderes Tag namens tip markiert immer den Tip (für "Spitze"), also den jüngsten ChangeSet im Repository. Wenn wir einen weiteren ChangeSet erzeugen (was wir bald tun werden), wird dieser der neue Tip.

  • user (Benutzer) bezeichnet die Person, die den ChangeSet erzeugt hat. Das ist eine frei formatierbare Zeichenkette, die gewönlich eine Emailadresse enthält, manchmal auch einen Namen.

  • date (Datum) zeigt an, wann der ChangeSet erzeugt wurde. Diese Daten werden in der Zeitzone des Erzeugers des [ChangeSet]s angezeigt.

  • summary (Zusammenfassung) zeigt die erste Zeile der Beschreibung des [ChangeSet]s. Sie wurde vom Erzeuger des [ChangeSet]s eingegeben, als er diesen erzeugt hat. Er soll helfen, den Zweck des [ChangeSet]s zu verstehen.

  • parent bezeichnet die Eltern-ChangeSets, falls es davon mehr als einen gibt; das kommt vor, wenn Sie Änderungen aus mehreren Repositorys zusammenführen ("merge").

    • Meist gibt es nur einen Eltern-ChangeSet, nämlich den nächstälteren. So is es auch in unserem obigen Beispiel.

Wir können detailiertere Informationen über die History erhalten, indem die -v-Option - für "verbose", ausführlich - wählen oder die --debug-Option die alle nur denkbaren Angaben liefert:

$ hg log -v
changeset:   1:82e55d328c8ca4ee16520036c0aaace03a5beb65
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files:       Makefile
description:
Create a makefile

(...)

$ hg log --debug
manifest:    1:0c7c1d435e6703e03ac6634a7c32da3a082d1600
changeset:   1:82e55d328c8ca4ee16520036c0aaace03a5beb65
tag:         tip
parent:      0:0a04b987be5ae354b710cefeba0e2d9de7ad41a9
parent:      -1:0000000000000000000000000000000000000000
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
files+:      Makefile
description:
Create a makefile

(...)

Die ausführliche Ausgabe enthält einige Felder zusätzlich.

  • changeset liefert jetzt die ungekürzte ChangeSetID.

  • files listet die in diesem ChangeSet geänderten Dateien auf.

  • description enthält die volständige mehrzeilige Beschreibung des [ChangeSet]s, nicht nur die erste Zeile.

    • In unserem Beispiel besteht kein Unterschied, da die Beschreibungen nur eine Zeile umfassen.

Die --debug-Ausgabe gibt folgende Felder zusätzlich aus:

  • file+ Listet die in diesem ChangeSet hinzugefügten Dateien.

  • file- Listet die in diesem ChangeSet gelöschten Dateien.

  • manifest liefert die Manifest ID für den ChangeSet.

  • Zwei parent-Felder geben die Changeset-ID beider Eltern für diesen Changeset, wobei -1:0000000000000000000000000000000000000000 einen nicht vorhandenen parent bezeichnet.

Der log-Befehl besitzt eine Option -r, mit der man ausgewählte Changesets ansehen kann.

$ hg log -r1
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

<!> Die -r-Option stellt eine sehr flexible Syntax zur Auswahl von Changesets oder Changeset-Folgen bereit. In unserem Besipielrepository haben wir leider zu wenig Changesets, um das gut demonstrieren zu können. Bitte entnehmen Sie weitere Informationen der Manpage von Mercurial.

Der log-Befehlc besitzt eine -p-Option, um alle mit den Changesets assoziierten Patches anzuzeigen:

$ hg log -r1 -p
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

diff -r 0a04b987be5a -r 82e55d328c8c Makefile
--- /dev/null   Fri Aug 26 01:20:50 2005 -0700
+++ b/Makefile  Fri Aug 26 01:21:28 2005 -0700
@@ -0,0 +1,1 @@
+all: hello

Wir können auch den Befehl tip verwenden, um Infos über den tip, also den jüngsten Changeset anzuzeigen. Das tip-Kommando ist also eine Abkürzung für log -r tip.

$ hg tip
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

$ hg log -r tip
changeset:   1:82e55d328c8c
tag:         tip
user:        mpm@selenic.com
date:        Fri Aug 26 01:21:28 2005 -0700
summary:     Create a makefile

Da wir jetzt eine ungefähre Vorstellung haben, was bisher geschehen ist, lassen Sie uns einen Sprung machen und einige Änderungen durchführen! Auf geht's zum GermanTutorialFirstChange!


CategoryGerman

GermanTutorialHistory (last edited 2009-05-19 19:31:00 by localhost)