我在混合源代码控制环境中工作。我们仍然主要使用 CVS,但较新的项目使用 SVN。然而,我发现很难获得 SVN 的支持,因为 TortoiseSVN 不像 TortoiseCVS 那样工作。
三向合并有很多认知失调,虽然 TortoiseCVS 似乎总是能正确进行合并,但 TortoiseSVN 几乎总是需要手动帮助。此外,修复任何冲突后,您必须手动将文件标记为正常。
有人对如何让 TortoiseSVN 更像 TortoiseCVS 一样工作有任何建议吗?
编辑
更清楚地说,我不想进行三向合并,如果可能的话,我想像 TortoiseCVS 那样进行双向合并。我知道 CVS 和 SVN 中生成的文件是相同的,例如 Visual Studio 项目文件有两个不同的版本。这将始终以 TortoiseSVN 中的冲突结束,而永远不会以 TortoiseCVS 中的冲突结束。
SVN 看起来像:
<<<<<<< .mine
<ApplicationRevision>22</ApplicationRevision>
=======
<ApplicationRevision>28</ApplicationRevision>
>>>>>>> .r195290
CVS 看起来像
<<<<<<< SomeFile.cproj
<ApplicationRevision>22</ApplicationRevision>
=======
<ApplicationRevision>28</ApplicationRevision>
>>>>>>> 1.121
所以我应该能够得到同样类型的合并。另外,如果两个人处理同一个文件,TortoiseSVN 在更新时几乎总是会发生冲突,即使他们在不同的位置工作,TortoiseCVS 则不会出现此问题。我认为 TortoiseSVN 更加保守,并迫使您检查合并 TortoiseCVS 假设 CVS 是正确的。我想知道 TortoiseSVN 中是否隐藏了一些选项,使其更加自由,并且还可以进行双向合并而不是三向合并。
哦,是的,我们正在使用具有合并点的 Subversion 1.5(如果没有这个,分支基本上毫无用处)。
最佳答案
看看BeyondCompare和 Araxis Merge 。他们提供了有关将它们作为自定义合并/差异工具集成到 TortoiseSVN 中的说明。
关于svn - 有没有办法让 TortoiseSVN 表现得更像 TortoiseCVS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/559157/