hg commit --close-branch
sollte ausreichen, um einen Zweig in der Nähe zu markieren. (siehe hg commit
)
--close-branch
Markieren Sie einen Zweig als geschlossen und verstecken Sie ihn vor der Zweigliste.
Siehe auch diesen Thread :
Ich gehe davon aus, dass ich eine Niederlassung schließe, weil diese Entwicklungslinie in eine Sackgasse geraten ist und ich mich nicht mehr damit beschäftigen möchte.
Wenn ein Zweig geschlossen wurde, sollte ich ihn daher nicht sehen (z. B. in Zweigen, Köpfen, Protokollen), es sei denn, ich möchte ausdrücklich darum bitten, geschlossene Zweige zu sehen.
Ich sollte beachten, dass ich davon ausgehe, dass ein geschlossener Zweig im Repository verbleibt. Dies kann in Zukunft nützlich sein, und die commit --close-branch
Nachricht sollte zumindest erklären, warum der Zweig geschlossen wurde.
Das Beschneiden von Zweigen ist eine ganz andere Sache.
Hinweis: Das Geschäft mit dem Schließen von Filialen ist ein Aspekt, der in Git im Vergleich zu Mercurial als fehlend angesehen wird :
Zweige in Git sind, wie uns immer gesagt wird, vergängliche Dinge, die verwendet und weggeworfen werden müssen, und soweit ich weiß, hat Git keine Möglichkeit, Ihren Kollegen anzuzeigen, dass Sie mit einem Zweig fertig sind.
Die einzige Möglichkeit, dies zu tun, besteht darin, es zu löschen oder zu hoffen, dass die endgültige Zusammenführung festgeschrieben wird, und zu verstehen, dass der Zweig für die weitere Entwicklung geschlossen ist.
[In Mercurial] Wenn Sie mit einem Zweig fertig sind, können Sie ihn jedoch nicht aus dem Repository löschen. Stattdessen geben Sie ein Commit aus, das den Zweig schließt, und Mercurial stellt fest, dass der Zweig geschlossen ist. Es bleibt ein fester Bestandteil Ihres Repository-Verlaufs.
hg debugsetparent <revision>
hg branch <branchOfRevision>
Beachten Sie, dass die Reihenfolge wichtig ist. Dadurch wird Ihr Repo glauben, dass es sich um die neue Version handelt, während alle Ihre Dateien von der ersten stammen. Danach können Sie das Commit --close-branch verwenden, aber die Option -X * verwenden, um ein leeres Commit durchzuführen.hg commit --close-branch -X * -m "Closing branch."
Ich habe ein einfaches Skript geschrieben, das das Schließen des Zweigs vervollständigt . Die Befehle finden Sie bei PruningDeadBranches .
## Skript ##
Wie man
Wechseln Sie zur lokalen Kopie des Repositorys und führen Sie dieses Skript mit einem Argument aus. Beispielsweise:
Was tut es
Dies bewirkt Folgendes:
quelle
$ hg update yourbranchnamecontainingspace
. Ich denke, wir könnten einen Verzweigungsnamen mit Leerzeichen erstellen, aber Sie erhalten einen Analysefehler, wenn Sie mercurial-Befehle wie update ausführen . Möglicherweise möchten Sie das Leerzeichen maskieren, während Sie den Zweignamen als Parameter an das Skript übergeben. Prost.echo "$1 is up"
dupliziert? Inthen
und nachfi
? Ein solches Skript könnte auch hilfreich sein, wenn eine Option zum