2009-08-19 16 views

Antwort

1

Meinst du "umbenennen" oder "neu nummerieren?".

Branch-Tags sind ein bisschen komisch in CVS. Der Tag-Name ist insofern etwas Besonderes, als er eine Zweigrevision im Gegensatz zu einer Versionsrevision kennzeichnet.

Sie können an dem Punkt, an dem Sie die letzte Verzweigung erstellt haben, eine neue Verzweigung erstellen (solange Sie eine Markierung dort haben) und dann den alten Zweigstellennamen löschen. (Der Zweig verschwindet nie wirklich, aber das ist egal). Aber das verliert alle Änderungen, die bereits in der Branche vorgenommen wurden.

Andernfalls können Sie einfach aus der Verzweigung reverranchieren, die den gleichen Effekt wie das Umbenennen erzielt, außer dass alle Ihre Revisionsnummern 2 Stufen länger werden und jedes Verzweigungsgrafikwerkzeug eine komplexere Struktur zeigt.

Es ist ein paar Jahre her, seit ich damit herumgespielt habe, aber ich denke, CVS lässt Sie einen neuen Namen für einen bestehenden Zweig erstellen, wenn Sie ein Tag für die spezielle Zweig Revisionsnummer erstellen (mit einer ungeraden Anzahl von Ebenen, oder hat die zweitletzte Ebene == 0).

Das Problem ist, jede Datei in Ihrem Repository wurde mit einer anderen Revision abgezweigt, so dass Sie jede Datei einzeln bei der entsprechenden Revision neu speichern müssen.

Sobald Sie Ihren neuen Zweig erstellt haben, ist es eine einfache Sache, den alten Zweig-Tag zu löschen, der nur diesen Namen aus dem Zweig entfernt, aber den Zweig intakt lässt.

+0

Synox hat einen interessanten Kommentar zu meiner Antwort gemacht, die auch hier relevant zu sein scheint. Das Löschen der Zweigstelle erfordert Administratorzugriff. Dies bedeutet, dass diese Vorgehensweise im Szenario dieser Frage nicht funktioniert. – kwutchak

0

Es ist möglich, aber hässlich!

Effektiv müssten Sie den Zweig - einschließlich aller Versionen - mit dem neuen Namen neu erstellen. Danach können Sie das Zweig-Tag mit dem vorherigen Namen löschen.

Wenn der Zweig viele Dateien und viele Versionen involvierte, würde ich ein Skript schreiben wollen ...;).

+0

Löscht das Branch-Tag nicht den Administratorzugriff? – Synox

+0

Das ist ein guter Punkt. Möglicherweise können Sie die Verzweigung (mit Erzwingung) neu erstellen, um den Zweignamen in eine neue Versionsnummer zu verschieben. Ich habe das nicht versucht. – kwutchak

Verwandte Themen