2013-05-01 86 views
0

我发现此解决方案(如下所示):如何防止Subversion进行自动合并?它出现在互联网上很多次,也在这里在stackoverflow。如何防止Subversion进行自动合并并手动应用更改

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

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

@type %9 
    @exit 1 

这实际上使自动合并失败每次,迫使文件发生冲突。

奇怪的“类型%9”行的原因是diff3-cmd将合并的输出发送到标准输出。然后Subversion接受它并用合并结果覆盖你的本地文件。添加此行可避免获取空的本地文件。

但它似乎不工作,因为它是不可能手动纠正冲突。用于编辑冲突的tortoisesvn工具,尽管它可以编辑这些清单,但它不会正确记录编辑的文件。我所做的更改不受尊重。旧文件被全新覆盖。

创建了这些文件:index2.php.merge-left.r152,index2.php.merge-right.r157,index2.php.working并且包含没有其他更改的独立内容,如像这样的附加字符串'> >>>'表示做了哪些更改。

如何正确地将更改应用于找到的冲突? 或者这种解决方案仅适用于冲突可视化?

回答

0

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

我没有看到任何方法来自动判断。如果两个开发者发生冲突,解决这个问题的唯一方法就是谈论并达成共识。