Wie entferne ich ausgehende Changesets in Mercurial (hg)

14

Wenn ich laufe, habe hg outich 3 ausgehende Changesets. Ich möchte sie in den Papierkorb werfen und darauf zurückgreifen, wie die Dinge im zentralen Repository sind. Wie?

adambox
quelle

Antworten:

15

Verwenden hg strip 'roots(outgoing())'

wbkang
quelle
1
Sie können auch ein Ziel für die ausgehenden Changesets angeben (wenn Sie kein Standard-Repo haben oder sich relativ zu einem anderen Repo entfernen möchten) hg strip 'roots(outgoing(target-name))'.
Jason R. Coombs
Danke @ JasonR.Coombs, das ist super nützlich. Ich war neugierig, wie sich das ausgehende () basierend auf den Änderungssätzen anders als der Standard-Remote-Repo-URL ändert.
wbkang
3

Entweder vom zentralen clone -rRepository erneut klonen oder nur die benötigten Changesets erneut klonen.

Tonfa
quelle
3

Die andere Option ist die Verwendung des hg strip Befehls , der Teil der Erweiterung mq( Quecksilber-Warteschlangen ) ist.

Die Quecksilberphilosophie basiert auf einer unveränderlichen Geschichte, daher werden Befehle, die diese Geschichte manipulieren, missbilligt, aber es gibt Zeiten, in denen das Abstreifen oder Umbasieren mehr Probleme lösen kann, als sie verursachen.

Wenn Sie TortoiseHg verwenden, müssen Sie die MQ-Erweiterung aktivieren . Vor v1.0 THG war es standardmäßig aktiviert, aber nach vielen Diskussionen wurde entschieden, dass es sich wirklich um eine 'erweiterte' Funktion handelt, die deaktiviert werden sollte, bis der Benutzer die Erfahrung hat, wie sie aktiviert werden kann.

Mark Booth
quelle