7

使用SVN中的合并功能(通过TortoiseSVN)几个月以来,我感觉 SVN 经常报告发生冲突。

因此,我正在寻找一种方法来使(乌龟)SVN 更频繁地自动解决冲突,而无需我的用户交互。

我知道类似的问题以及您可以将差异查看器和合并工具替换为外部工具的事实:

在此处输入图像描述

根据我的理解,这些工具链接太晚了;当内部算法已经检测到不可解决的冲突时,它们会被 SVN/TortoiseSVN 调用。

所以我的问题是:

  • 我对行为的假设(内部合并算法、外部合并工具)是否正确?
  • 有没有办法通过(例如付费)工具改进内部合并算法?

(我正在使用VisualSVN Server和 V1.7 存储库,以防万一)

4

2 回答 2

1

很难推测上下文,但是发现的冲突不太可能与 TortoiseSVN 有任何关系,而更多地与一般的 svn 有关。正如 mvp 所说,git 会更好(呵呵),但你有没有看过--reintegrate合并的标志?不确定如何直接从 TortoiseSVN 使用它,但事实证明它对我减少冲突非常有用。

编辑 在此处查看“高级合并”教程

于 2013-07-06T16:45:08.737 回答
1

首先,它与 Tortoise 无关——它只是 SVN 系统之上的一个非常好的 GUI。

现在,也许你有很多真正需要人类关注的合并。如果是这样,迁移到 git 或 Mercurial 之类的东西对你一点帮助都没有——它们都无法说出你的真正意思,就像 SVN 无法说出一样。

您可以通过阅读文档查看SVN 执行其合并算法的方式。仅供参考 v1.8 对其进行了一些调整,这意味着在进行重新集成合并时需要更少的手动决策 - 它现在只是自动执行,所以如果您一直在进行特殊功能分支样式合并并且一直在这样做错了,它就不会再抱怨了。他们现在一直致力于合并最近的 2 个版本,不仅使用 mergeinfo 不断改进它,而且还使用诸如 move 之类的功能,以便它可以判断文件不是新文件或已删除,从而减少任何树冲突类型的合并。

于 2013-07-06T17:34:44.960 回答