2015-02-11 71 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