SVN解析合并中的树冲突

时间:2013-10-18 14:10:36

标签: svn tree conflict

我有一个SVN合并树冲突,我无法弄清楚如何解决,我希望你们(女孩)可以帮忙。

以下是这种情况:我从主干创建了一个分支A来进行一些开发。然后我从分支A创建了一个分支B.两个分支同时发展。

在某些时候,我从分支B中挑选了一些修改到主干中以获得在分支B中开发的一些功能。

现在,我使用trunk同步分支A:

~/branch_a$ svn merge ^/trunk
~/branch_a$ svn commit

这里没问题。下一步是将B与A:

同步
~/branch_b$ svn merge ^/trunk

在这里我得到了一些树冲突,在合并之前已经存在于trunk中的文件/目录中,但是我在之前做过的樱桃选择中被更改了(不知道它是否与它有任何关系,我是只是提到它):

  C some_dir/other_dir/some_file.php
  >   local add, incoming add upon merge
  C some_other_dir/some_sub_dir
  >   local add, incoming add upon merge

基本上我想要从合并进来的文件版本并丢弃当前版本。解决这个问题的最佳方法是什么?

提前致谢!

2 个答案:

答案 0 :(得分:3)

这是一个网站,您可以在其中找到有关如何进行合并的解释清楚的答案。

http://www.sepcot.com/blog/2007/04/SVN-Merge-Branch-Trunk

当您使用不带-r参数的合并时,您尝试合并整个分支,其中包含那些不完全对应于分支i的修订。它真正做的是:它从您创建存储库的修订版到实际现在的修订版,并且包括此分支尚未存在的修订版,可能导致很多树合并冲突和一般的冲突。

当您在svn中将分支合并到主干时,必须从要分支的分支中指定修订版本,从创建分支的副本开始,将分支创建到主干的主版本。

答案 1 :(得分:3)

使用下面的命令它将解决您的树冲突

svn resolve --accept working -R <file name with path>