Wie von Mark vorgeschlagen, ist die MqExtension eine Lösung für Ihr Problem. Meiner Meinung nach ist es einfacher, die Rebase-Erweiterung zu verwenden . Angenommen, Sie haben eine Geschichte wie diese:
@ changeset: 2:81b92083cb1d
| tag: tip
| summary: my new feature: edit file a
|
o changeset: 1:8bdc4508ac7b
| summary: my new feature: add file b
|
o changeset: 0:d554afd54164
summary: initial
Dies bedeutet, dass die Revision 0
die Basis ist, auf der Sie mit der Arbeit an Ihrer Funktion begonnen haben. Jetzt möchten Sie beispielsweise 1-2
einen benannten Zweig überarbeiten my-feature
. Aktualisieren Sie auf Revision 0
und erstellen Sie diesen Zweig:
$ hg up 0
$ hg branch my-feature
$ hg ci -m "start new branch my-feature"
Die Geschichte sieht jetzt so aus:
@ changeset: 3:b5939750b911
| branch: my-feature
| tag: tip
| parent: 0:d554afd54164
| summary: start new branch my-feature
|
| o changeset: 2:81b92083cb1d
| | summary: my new feature: edit file a
| |
| o changeset: 1:8bdc4508ac7b
|/ summary: my new feature: add file b
|
o changeset: 0:d554afd54164
summary: initial
Verwenden Sie den rebase
Befehl, um Revisionen 1-2
auf Revision zu verschieben 3
:
$ hg rebase -s 1 -d 3
Dies führt zu der folgenden Grafik:
@ changeset: 3:88a90f9bbde7
| branch: my-feature
| tag: tip
| summary: my new feature: edit file a
|
o changeset: 2:38f5adf2cf4b
| branch: my-feature
| summary: my new feature: add file b
|
o changeset: 1:b5939750b911
| branch: my-feature
| summary: start new branch my-feature
|
o changeset: 0:d554afd54164
summary: initial
Das war's ... Wie in den Kommentaren zu Marks Antwort erwähnt, ist es im Allgemeinen eine schlechte Idee, sich bereits umgedrückte Änderungssätze zu bewegen, es sei denn, Sie arbeiten in einem kleinen Team, in dem Sie in der Lage sind, Ihre Verlaufsmanipulation zu kommunizieren und durchzusetzen.