我习惯了使用TFS,我的公司现在正在为一个新项目切换到SVN(主要原因是为了更好地将我们的java和.Net代码库合并在同一源代码控制下)。
我被赋予理解颠覆中的合并是困难的(杰夫提到了这一点 https://blog.stackoverflow.com/2009/05/podcast-52/在他最新的播客中)。
- 与 TFS 相比,Subversion 有哪些问题?
- 如何缓解? (在颠覆的范围内,或者像杰夫提议的那样,选择另一个源代码控制)
TFS 提供的一项强大功能是其自动合并功能(在 TFS2008 中得到了很大改进,尽管还不完美)。大多数合并不需要用户执行任何操作。颠覆也是如此吗?
Update- 这里接受的答案只能来自于在这两个领域都经历过大规模合并的人TFS and 颠覆,并且实际上可以比较和对比两者。知道“颠覆中的合并是好的”或“TFS 是垃圾”并不能真正帮助我做出决定,因为它是主观的。如果您可以与其他替代方案进行比较,那就太好了 - 这很有帮助。但我的重点是颠覆与 TFS。
我感兴趣的目标团队规模是 6-30 名活跃开发人员。
Update 2- 有没有人会证明 SVN 中的合并实际上比 TFS 中的合并更容易(考虑到工具)?
我在 TFS 和 Subversion 中都进行过大型合并。 TFS 代码库是 SharePoint 应用程序的 1.5->2.0 分支,生产更改已合并到 2.0 代码库中。 SVN 合并是将分支中的新功能合并到基线源中。
您已经熟悉了 TFS,所以我就不详细介绍了,只是说变更集 http://weblogs.asp.net/dmckinstry/archive/2006/07/03/Understanding-ChangeSets-and-Merge-with-Team-Foundation-Server.aspxTFS 工具使这个过程变得非常简单。由于取消删除问题,我们确实收到了 TF14087 错误,但很快就得到了解决。
在 SVN 中,该过程需要更多的手动操作,因为我们必须针对 SVN 中文件的特定版本,并且 SVN 对文件进行了差异合并,这不允许我们在 TFS 中体验到变更集的灵活性(例如“不ChangesetA 中的所有更改,但 ChangesetB 中的所有更改”)。我们当时没有合并跟踪,我们的源代码树也不是为支持 SVN 合并跟踪的最佳实践而设计的。
我认为现在,通过 SVN 中的合并跟踪,假设您遵循 CollabNet 概述的最佳实践,该过程会变得更加简单。但请记住,TFS 是一个大型产品,具有非常出色的 GUI 工具来管理源代码,而 SVN 更依赖于命令行,因此如果您习惯使用 GUI,这会使事情变得复杂。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)