颠覆中的合并比团队基础系统更困难吗?

rip*_*234 4 svn version-control comparison merge tfs

我习惯使用TFS,而我的公司现在转而使用SVN进行新项目(主要原因是在同一源代码控制下更好地整合我们的java和.Net代码库).

我被理解为颠覆中的合并很难(杰夫在他最新的播客中提到过这一点).

  1. 与TFS相比,颠覆有什么问题?
  2. 如何减轻?(有了颠覆的界限,或者像杰夫提出的那样,选择另一个源控件)

TFS提供的一个强大功能是其自动充电功能(在TFS2008中有很大改进,虽然还不完美).大多数合并不需要用户执行任何操作.在颠覆中是一样的吗?

更新 - 这里接受的答案只能来自在TFS颠覆中经历过大合并的人,并且实际上可以比较和对比这两者.知道"颠覆合并是好的"或"TFS是垃圾"并不能真正帮助我做出决定,因为它是主题.如果你可以与其他替代方案进行比较,那就太棒了 - 这很有用.但我的重点是颠覆与TFS.

我感兴趣的目标团队规模是6-30名活跃的开发人员.

更新2 - 有没有人会认为SVN中的合并实际上比在TFS中更容易(考虑工具)?

Rob*_* S. 6

我在TFS和Subversion中都进行了很大的合并.TFS代码库是SharePoint应用程序的1.5-> 2.0分支,生产更改合并到2.0代码库中.SVN合并是将fork中的新功能合并到基线源中.

您已经熟悉TFS,所以除了说变更集和TFS工具使这个过程变得非常简单之外,我将为您提供详细信息.我们确实因为取消删除问题而得到TF14087错误,但很快就解决了.

在SVN中,这个过程非常简单,因为我们必须在SVN中定位文件的特定版本,而SVN对文件进行了扩展,这些文件不允许我们在TFS中使用变更集时遇到的灵活性(例如"不是" ChangesetA中的所有更改,但ChangesetB中的所有更改").我们当时没有合并跟踪,我们的源代码树也不是为了支持SVN合并跟踪的最佳实践.

我想现在,通过SVN中的合并跟踪,假设您遵循CollabNet概述的最佳实践,该过程将会更加简单.但请记住,TFS是一个很棒的产品,有很好的GUI工具来管理你的源,而SVN更多地依赖于命令行,所以如果你习惯使用GUI,这会使事情复杂化.


Sta*_*Man 5

我不认为在颠覆合并很难在所有的常见情况,看看喜欢的例子这些.我发现合并简单易行; 虽然有些同事抱怨更喜欢CVS,其他人抱怨等等.我怀疑其中很多都与熟悉其他工具有关,而不是技术优势/劣势.

可能更复杂(三向)的合并更难,但问题是通用的是否是那些.我个人认为复杂的合并(和长寿命的分支,复杂的分支跟踪和合并策略等)代码腐烂的气味(或者我猜SCM腐烂).因人而异.