Wie füge ich zwei SVN-Zweige zusammen?

7

Ich habe zwei SVN-Zweige ausgecheckt, "b1" und "b2". Ich möchte alle meine Commits aus dem Zweig "b1" in den Zweig "b2" zusammenführen. Ich habe so etwas versucht

svn merge -r HEAD:HEAD b1 b2 

aber es macht nichts. Ich bin sicher, dass ich diesen Befehl falsch habe, aber ich kann keine gute Dokumentation dazu finden. Ich möchte dies auf der Client-Seite tun und keinen dritten Zweig erstellen.

Irgendwelche Ideen?

Vielen Dank!

Tony
quelle

Antworten:

8

Ihr Problem ist mit der -rFlagge. Sie müssen eine Reihe von Revisionen angeben . Also zum Beispiel:

svn merge -r 13:HEAD b1 b2

Um die richtige Revisionsnummer herauszufinden, können Sie Folgendes tun:

svn log --stop-on-copy b1

loglistet dann nur Commits auf, die am passiert sind b1. Die kleinste Revisionsnummer, die Sie sehen, ist Ihre Wahl.

Ich habe dieses Formular jedoch noch nie verwendet. Ich habe immer dafür gesorgt, dass ich aktiv in der Branche bin b2, und dann:

svn merge -r 13:HEAD url://to/branch/b1
Exhuma
quelle
2

Der Befehl "svnmerge" oder "svnmerge.py" kann dabei helfen. Beachten Sie, dass dies ein anderer Befehl als "svn merge" ist. Weitere Informationen finden Sie auf der Wiki-Seite svnmerge.py, einschließlich Details zur Verwendung, einer Kurzanleitung usw.

Ich habe es verwendet, um das Zusammenführen mehrerer Kassen eines bestimmten Repositorys zu verwalten, wobei ich Änderungen an einem Zweig vornehme und dann die Änderungen von diesem Zweig in den anderen Zweig zusammenführe, der möglicherweise eigene Änderungen aufweist, die nicht zurückgeführt werden. Für diese Verwendung hat svnmerge.py fantastisch funktioniert.

Sean

Sean Reifschneider
quelle