2015-02-11 105 views
7

所以我使用TortoiseSVN嘗試合併我的最新樹幹到分支B.中繼最近有分支 - 重新集成,其中包含子文件夾的重命名,以及該子文件夾內的文件的一些修訂。分支B還包含該子文件夾中的那些文件的一些不同修訂版,該文件夾仍具有原始名稱。svn樹衝突合併重命名文件夾

現在,當試圖將最新的主幹合併到分支-B中時,svn只是添加新命名的文件夾,並在最初命名的文件夾上引發樹衝突。換句話說,對文件本身的修訂本身永遠不會合並,而是留下兩個文件夾。我已經嘗試了多種方法,希望獲得最乾淨的合併,同時保留所有合適的svn:mergeinfo,但似乎沒有任何效果。

有沒有人知道乾淨地完成這個合併的正確方法?

的TortoiseSVN 1.8.10,顛覆1.8.11

這裏有一個視覺:

/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;博士:我如何幹淨地把行李箱到分支-B?謝謝!

+0

客戶端版本? – bahrep 2015-02-11 22:13:23

+0

對不起。 TortoiseSVN 1.8.10,Subversion 1.8.11。 @bahrep – plwalsh88 2015-02-11 22:24:48

回答

7

真的沒有clean這樣在Subversion中解決像這樣的結構樹衝突。基本上,你需要做的是以下幾點:

  • 合併trunkbranch-B工作副本
  • 手動創建的branch-B的變化file1file2一個diff並把它們應用到在相應的文件新合併的Folder1-Renamed目錄
  • 刪除已過時Folder1目錄
  • 確保一切仍然有效
  • 接受當前狀態爲正確的(見http://svnbook.red-bean.com/nightly/en/svn.tour.treeconflicts.html
  • 提交

對不起,它不會比使用SVN更加容易。我非常喜歡使用Subversion來進行某些團隊設置,但是樹木衝突的噩夢(以及它們的神祕和容易出錯的解析機制)經常會讓我們哭泣(並轉而使用Git)。

+0

看起來像那個程序做的伎倆。感謝您爲我拼寫! – plwalsh88 2015-02-13 18:21:14