Was hier geschieht, ist Folgendes: Sie erstellen eine neue Datei in Ihrem Stamm und führen sie dann in Ihrem Zweig zusammen. Beim Merge-Commit wird diese Datei auch in Ihrem Zweig erstellt.
Wenn Sie Ihren Zweig wieder in den Stamm einbinden, versucht SVN dasselbe noch einmal zu tun: Es sieht, dass eine Datei in Ihrem Zweig erstellt wurde, und versucht, sie in Ihrem Stamm in der Zusammenführungsübergabe zu erstellen, aber sie existiert bereits! Dies erzeugt einen Baumkonflikt.
Der Weg, dies zu vermeiden, besteht darin, eine spezielle Zusammenführung, eine Wiedereingliederung . Sie können dies mit der Option --reintegrate
Schalter.
Sie können dies in der Dokumentation nachlesen: http://svnbook.red-bean.com/en/1.7/svn.branchmerge.basicmerging.html#svn.branchemerge.basicmerging.reintegrate
Wenn Sie Ihren Zweig wieder mit dem Stamm zusammenführen, müssen Sie jedoch Mathematik ganz anders aus. Ihr Funktionszweig ist nun ein Mischmasch aus duplizierten Änderungen am Stamm und Änderungen am privaten Zweig, so dass gibt es keinen einfachen zusammenhängenden Bereich von Revisionen, den man kopieren kann. Durch die Option --reintegrate angeben, bitten Sie Subversion, die sorgfältig nur die Änderungen zu replizieren, die nur für Ihren Zweig gelten. (Und tatsächlich Tatsächlich tut es dies, indem es den letzten Stamm-Baum mit dem letzten Zweigbaum vergleicht: der resultierende Unterschied sind genau Ihre Zweigänderungen!)
Nach der Reintegration eines Zweiges ist es sehr ratsam, ihn zu entfernen, da Sie sonst immer wieder Baumkonflikte bekommen, wenn Sie in die andere Richtung zusammenführen: vom Stamm zu Ihrem Zweig. (Aus genau demselben Grund wie zuvor beschrieben.)
Es gibt auch eine Möglichkeit, dies zu umgehen, aber ich habe sie nie ausprobiert. Sie können es in diesem Beitrag lesen: Wiedereingliederung des Subversion-Zweiges in v1.6