Ich möchte alle Änderungen, die zwischen Version 10 und der HEAD-Version auf http: // url-of-branch-a stattgefunden haben, zusammenführen und auf http: // url-of-branch-b anwenden .
Etwas wie...
svn merge -r 10:HEAD http://url-of-branch-a
Ist das möglich? Wenn ja, wie lautet die Syntax?
Ich führe den SVN-Client über die Unix-Befehlszeile aus. Die SVN-Client-Version ist 1.4
EDIT: Ja, meine spezifische Lösung war ...
- Wechseln Sie in das Verzeichnis meiner Arbeitskopie, die die Änderungen erhalten soll (Zweig b).
- svn merge -r 10: HEAD http: // url-of-branch-a
Dadurch werden die Änderungen von 'Zweig-a' zu 'Zweig-b' zusammengeführt.
Antworten:
Checkout-URL A. Verwenden Sie SVN Merge, um URL B mit Ihrer Arbeitskopie von A zusammenzuführen. Commit A.
Oder natürlich umgekehrt :)
quelle
Der Prozess ist wie folgt:
svn checkout http://branch-b
)svn merge -r 10:HEAD http://branch-a .
) zusammenführensvn commit
)Überprüfen Sie die Manpage (Hilfedatei) auf die Semantik der SVN-Zusammenführung. Es zeigt Ihnen, dass svn merge die Ergebnisse immer in eine Arbeitskopie kopiert.
Überprüfen Sie das SVNBook für alle Details.
quelle
Meistens verwirrend,
merge
wenn wir versuchen, in svn repo zu tun, können wir nicht direkt mit svn repo zusammenführen, wir können wie folgt mit der Arbeitskopie des lokalen Computers zusammenführen:Diese Arbeitskopie sollte
destination URL
zusammengeführt sein (dh Checkout-Ziel).Arbeitskopie mit
source URL
Zusammenführung zusammenführen.commit
zum Ziel.Best Practice : Zusammenführen, Zusammenführen.
quelle