如何防止Subversion进行自动合并并手动应用更改

时间:2013-05-01 09:58:20

标签: svn tortoisesvn

我找到了这个解决方案(如下所示):如何阻止Subversion进行自动合并?它在Internet上多次出现,也出现在stackoverflow上。

  

有些人不喜欢Subversion在更新时自动将自己的本地工作副本更改合并到其他人的更改。以下是如何强制这些文件进入冲突状态,以便您可以方便地手动合并。

     

在TortoiseSVN->设置 - > Subversion配置文件中,单击编辑按钮。   通过添加diff-cmd =“C:\ false.bat”diff3-cmd =“C:\ false.bat”更改[helpers]部分(注意双反斜杠)       创建包含两行

的文件C:\ false.bat
    @type %9
    @exit 1
  

这有效地使每次自动合并失败,从而迫使文件发生冲突。

     

好奇的'type%9'行的原因是diff3-cmd将合并的输出发送到stdout。然后Subversion接受此操作并使用合并结果覆盖您的本地文件。添加此行可避免获取空本地文件。

但它似乎不起作用,因为无法手动纠正冲突。用于编辑冲突的tortoisesvn工具,尽管它可以编辑这些conflists,但它不会正确记录编辑的文件。我所做的改变不受尊重。旧文件被一个新文件完全覆盖。

创建这些文件:index2.php.merge-left.r152,index2.php.merge-right.r157,index2.php.working并包含oryginal内容,而不需要像这样的附加字符串这样的附加字符串'> gt; >>>”这表明做了哪些改变。

如何正确应用已发现冲突的更改? 或者此解决方案仅适用于冲突可视化?

1 个答案:

答案 0 :(得分:0)

我认为IntelliJ是最好的SVN客户端。它让我有机会在发生冲突时视觉检查两个文件,并选择我想要保留和丢弃的位。

我认为没有办法自动判断。如果两个开发人员发生冲突,解决问题的唯一方法就是谈谈并达成共识。