簡體   English   中英

合並重命名文件夾時SVN樹沖突

[英]SVN tree conflict when merging renamed folder

我正在使用TortoiseSVN將trunk的最新更改合並到分支B中,包括文件夾重命名。

在此之前,我將Branch-A重新整合到trunk中 在該分支中,文件夾已重命名,並對其中的文件進行了更改。 分支B包含這些文件的不同修訂版本,但該文件夾仍具有原始名稱。

主干合並到分支B中時 ,SVN只是將重命名的文件夾添加為新文件夾,並在原始命名的文件夾上報告樹沖突。 文件修訂版本身永遠不會合並,我兩個文件夾都留着。 我嘗試了多個選項以盡可能實現最干凈的合並,同時保留所有適當的svn:mergeinfo,但似乎沒有任何效果。

有人知道正確完成合並的正確方法嗎?

TortoiseSVN 1.8.10,Subversion 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; DR:當包含分支中的一個已被重命名時,如何在兩個分支之間干凈地合並文件修訂?

在Subversion中,沒有真正干凈的方法可以解決結構樹沖突。 基本上,您需要執行以下操作:

  • trunk合並到branch-B工作副本中
  • 手動創建branch-Bfile1file2更改的差異,並將它們應用於新合並的Folder1-Renamed目錄中的相應文件
  • 刪除現在已過時的Folder1目錄
  • 確保一切仍然正常
  • 接受當前狀態為正確的狀態(另請參見http://svnbook.red-bean.com/nightly/en/svn.tour.treeconflicts.html
  • 承諾

抱歉,使用svn並沒有比這容易。 我非常熱衷於將Subversion用於某些類型的團隊設置,但是噩夢般的樹沖突(以及它們的奧秘和易於出錯的解決機制)經常使我們想要哭泣(並永久轉換為git)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM