Tutorial - Änderungen in einem anderen Repository zur Verfügung stellen

GermanTutorialFirstChange hat beschrieben, wie wir ein Changeset im my-hello-new-output Repository erzeugt haben. Jetzt wollen wir die Änderung weiterverbreiten.

Getreu einem guten Mercurial-Stil klonen wir zuerst unser ursprüngliches Repository.

$ cd ..
$ hg clone my-hello my-hello-share

Das tip Kommando zeigt uns den tip in jedem einzelnen Repository an (der Tip ist das zuletzt erzeugte Changeset). Mit der Option -q ("quiet") gibt Mercurial keine vollständige Beschreibung des Tip aus, sondern nur die Changeset-ID.

$ cd my-hello-share
$ hg -q tip
1:82e55d328c8c
$ cd ../my-hello-new-output
$ hg -q tip
2:a58809af174d

Hier sehen wir, daß sich die Tips der beiden Repositories unterscheiden. Nun gehen wir zurück nach my-hello-share und pflegen unser neues Changeset dort ein. Dazu benutzen wir das pull Kommando, das alle Changesets aus dem anderen Quellrepository herauszieht, die es diesem Repository noch nicht gibt.

$ 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)

Anders als die anderen häufig benutzten Mercurial-Kommandos ist pull sehr mitteilsam. In unserem Fall war der pull erfolgreich!

Die letzte Ausgabezeile ist dabei interessant: Ohne weitere Option beim pull bringt Mercurial das Arbeitsverzeichnis nicht auf den aktuellen Stand. Das heißt, im Repository ist das Changeset jetzt vorhanden, aber in der Datei hello.c im Arbeitsverzeichnis ist noch der alte Inhalt vor dem pull-Kommando.

Wenn wir die Datei (und alle anderen, die sich im Repository durch den pull geändert haben) auf den aktuellen Stand bringen wollen, folgen wir Mercurials Hinweis:

$ hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved

Jetzt können wir überprüfen, daß my-hello-share and my-hello-new-output identische Inhalte und die gleiche Revisionsvorgeschichte haben.

In GermanTutorialExport sehen wir, wie wir eine Änderung jemand anderem zukommen lassen können.


CategoryTutorial

GermanTutorialShareChange (last edited 2012-11-06 13:19:51 by abuehl)