2015-02-11 7 views
7

So verwende ich TortoiseSVN, um zu versuchen, meine neueste Stamm in Zweig-B zusammenführen. Der Stamm hat kürzlich Branch-A reintegriert, das eine Umbenennung eines Unterordners sowie einige Revisionen von Dateien in diesem Unterordner enthielt. Branch-B enthält auch einige Änderungen an den Dateien in diesem Unterordner, die immer noch den ursprünglichen Namen haben.svn Baum Konflikt merging umbenannt Ordner

Wenn nun versucht wird, den letzten Stamm in Zweig-B zusammenzuführen, fügt svn einfach den neu benannten Ordner hinzu und löst einen Baumkonflikt im ursprünglich benannten Ordner aus. Mit anderen Worten, die Revisionen der Dateien selbst werden nie zusammengeführt und ich habe beide Ordner übrig. Ich habe mehrere Dinge ausprobiert, in der Hoffnung, die sauberste Zusammenführung möglich zu machen, während ich all das passende svn: mergeinfo beibehalte, aber nichts scheint zu funktionieren.

Kennt jemand den richtigen Weg, diese Zusammenführung sauber zu vervollständigen?

TortoiseSVN 1.8.10, 1.8.11 Subversion

Hier ist ein visuelles:

/trunk (before reintegrating branch-A) 
    /Folder1 
    file1 
    file2 
    file3 

/trunk (after reintegrating branch-A) 
    /Folder1-Renamed 
    file1-change1 
    file2-change1 
    file3 

/branch-B 
    /Folder1 
    file1-change2 
    file2-change2 
    file3 

tl; dr: Wie kann ich den Stamm in den Zweig-B sauber zusammenführen? Vielen Dank!

+0

Client-Version? – bahrep

+0

Ah Entschuldigung. TortoiseSVN 1.8.10, Subversion 1.8.11. @bahrep – plwalsh88

Antwort

7

Es gibt keinen wirklich sauberen Weg, strukturelle Baum Konflikte wie diese in Subversion zu lösen. Im Grunde, was Sie tun müssen, ist die folgende:

  • merge trunk in branch-B Arbeitskopie
  • manuell erstellen diff der Änderungen an file1 und file2 in branch-B und sie auf die entsprechenden Dateien in der neu fusionierten Folder1-Renamed Verzeichnis
  • das jetzt veraltet Folder1 Verzeichnis
  • sicher, dass alles löschen machen noch funktioniert
  • den aktuellen Zustand als richtig annehmen (siehe auch http://svnbook.red-bean.com/nightly/en/svn.tour.treeconflicts.html)

Leider begehen, ist es nicht einfacher als mit SVN, dass bekommt. Ich bin ein großer Fan von Subversion für bestimmte Arten von Team-Setups, aber der Albtraum von Baumkonflikten (und ihre geheimnisvollen und fehleranfälligen Auflösungsmechanismen) machen uns regelmäßig zum Weinen (und wechseln zu Git für immer).

+0

sieht aus wie diese Prozedur den Trick. Danke, dass du es für mich geschrieben hast! – plwalsh88

Verwandte Themen