0

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

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

在 TortoiseSVN->Settings->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 并包含原始内容,无需额外更改,如“>>>>”这样的附加字符串这表明进行了哪些更改。

如何正确地将更改应用于发现的冲突?还是此解决方案仅用于冲突可视化?

4

1 回答 1

0

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

我没有看到任何自动化判断的方法。如果两个开发人员发生冲突,解决它的唯一方法是交谈并达成共识。

于 2013-05-01T10:02:15.593 回答