Die Fetch Erweiterung

posted by Zachary Voase on September 29, 2009

Benutzer die von Git her kommen sind oft über das Verhalten von hg pull verwunder. Während git pull das Arbeitsverzeichnis aktualisiert, ein merge durchführt und eincheckt, aktualisiert hg pull nur das Repository. Das Arbeitsverzeichnis bleibt dabei unangetastet.

In 9 von 10 Fällen wollen Sie aber das automatische zusammenführen. Zum Glück ist dies kein grosser Aufwand. Bearbeiten Sie die Datei ~/.hgrc und fügen Sie diese Zeile hinzu:

[extensions]
hgext.fetch =

Nun können Sie statt dieser Befehle

$ hg pull
$ hg update remote_head
$ hg merge local_head
$ hg commit -m "Merged."

nur noch diesen eingeben:

$ hg fetch

Standardmässig wird fetch die Head-Version der entfernten Version als 1. Elternteil nutzen und den lokalen Head als 2. Sie können dieses Verhalten umkehren wenn Sie diesen Befehl nutzen:

$ hg fetch --switch-parent

Für weitere Informationen werfen Sie bitte einen Blick ins Wiki oder die Ausgabe von hg help fetch.

Wenn Sie von Git kommen und das automatische zusammenführen von git pull vermissen, könnte dies eine Erweiterung für Sie sein.