it-swarm.com.de

Wie wechsle ich mit Mercurial?

Wie mache ich was svn switch in Mercurial?

Ist das mein Arbeitsverzeichnis, um zu einem anderen Zweig im Repository zu wechseln?

62
Jonas Meyer
hg update -r<REV>

Der Befehl update wechselt zu einer angegebenen Version.

61
Flavius Stef

Der Befehl switch führt zwei Schritte in Subversion aus:

  1. Aktualisieren Sie die Arbeitskopie, um eine neue URL im Repository widerzuspiegeln . Dieses Verhalten ähnelt 'svn update' und ist der Weg zu Eine Arbeitskopie in einen Zweig oder ein Tag innerhalb desselben Repositorys verschieben.

  2. URL-Metadaten der Arbeitskopie umschreiben, um nur eine syntaktische Änderung anzuzeigen . Dies wird verwendet, wenn die Stamm-URL des Repositorys geändert wird (z. B. Änderung eines Schemas Oder eines Hostnamens), Ihre Arbeitskopie jedoch immer noch dieselbe. Verzeichnis innerhalb desselben Repositorys.

Der Befehl hg update foo stimmt am besten mit dem ersten überein, wenn Sie in Subversion beispielsweise von /trunk zu /branches/foo wechseln.

Wenn Sie das letztere tun möchten, bearbeiten Sie einfach .hg/hgrc. Sie finden einen [paths]-Abschnitt, der folgendermaßen aussieht:

 [pfade] 
 default = http://example.net/something

sie können diese standardmäßige Push/Pull-URL nach Belieben in etwas anderes ändern. Sie können diesem Abschnitt auch andere Einträge hinzufügen, wenn Sie häufig Push/Pull von anderen Standorten aus benötigen. Wenn Sie von einem Speicherort ziehen möchten, aber auf einen anderen verschieben, fügen Sie einen default-Push-Eintrag hinzu.

33
Martin Geisler

Wenn Sie Zweige wechseln möchten, gehen Sie wie folgt vor:

Prüfen Sie zunächst, welche Verzweigungen verfügbar sind, und geben Sie hg branches ein. Dadurch werden alle verfügbaren Zweige aufgelistet.

Bestimmen Sie als Nächstes, in welchem ​​Zweig Sie gerade arbeiten, geben Sie hg branch ein. Dadurch erfahren Sie, was Ihre aktuelle Niederlassung ist.

Um einen Zweig zu wechseln ( und alle lokalen Änderungen zu löschen ), geben Sie hg update -C name-of-branch ein. Dadurch wechseln Sie zu dem von Ihnen angegebenen Zweignamen.

Bestätigen Sie, indem Sie erneut hg branch eingeben.

23
Danmar

So wechseln Sie zu einem Remote-Zweig "Tipp":

hg pull -u <remote_branch>

Für lokale Niederlassung (bereits auf dem neuesten Stand):

hg update -r <local_branch>
1
Krystian

Alternative Antwort, falls mit "branch" "ein weiterer Klon des Repos gemeint ist, der an einem beliebigen Ort im Netz lebt": Das geht nicht.

Mit anderen Worten, bei einem Repo bei hg.a.com und einem Klon dieses Repos hg.b.com gibt es keinen entsprechenden Befehl

hg switch hg.b.com .

(Verwenden Sie dort svn spalance, vorausgesetzt, Ihr aktuelles Verzeichnis ist das Stammverzeichnis eines Klons von hg.a.com).

Sie können jedoch hg.a.com klonen, diesen Klon lokal klonen (der relativ kostengünstig sein sollte), und dann von hg.b.com ziehen, um weitere Änderungen zu übernehmen, die dort möglicherweise leben.

0
Tim Keating