我在混合源代码控制环境中工作。我们仍然主要使用 CVS,但较新的项目使用 SVN。但是,我发现很难获得 SVN 的支持,因为 TortoiseSVN 不像 TortoiseCVS 那样工作。
3 路合并有很多认知失调,虽然 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(没有这个分支基本上是无用的)。