Meine Frage entspricht genau der auf StackOverflow:
What's the best way to back out multiple changesets in mercurial?. Ich bin zu dumm die Antworten zu verstehen und brauche Eure Hilfe
Meine Frage:
- Ich bin auf einem Zweig der ein neues Feature implementieren soll
- 1/3 der Commits sind Testcode dessen Beschreibung immer mit "Testcode: " anfängt
- Nun bin ich fertig und möchte den Testcode wieder entfernen bzw. rückgängig machen
Ich sehe, ich kann mit
hg backout das genaue Gegenteil
einer Revision vornehmen um sie somit rückgängig zu machen. Angenommen, mein Verlauf sieht so aus:
Code:
1 - 2 - [3] - 4 - [5] - [6] - 8 - 8+
Die Nummern in Klammern sind die, welche ich nun rückgängig machen möchte.
Der Befehl
hg backout -r 6 würde beispielsweise ein Changeset committen das die Änderung von 6 rückgängig macht. Ich möchte das nicht manuell von Hand machen. Wie kann ich sagen "Tue das für alle Changesets die mit "Testcode: " beginnen rückwärts?
Ein anderer Weg: In TortoiseHg kann ich die Changesets ja direkt finden, markieren und sagen "Copy Selected as Patch". Nun habe ich in einer Diff-Datei, die Änderungen die ich ja gerade rückgängig machen will. Also das Gegenteil von dem, was ich will. Komme ich von hier aus weiter?
Ich habe bislang den Testcode nie committed und das alles auf einem immer weiter anwachsenden Shelf gehabt, aber da verliere ich leider schnell die Übersicht.