还有两个需要补充的是:
SVN和Mercurial都是很好的版本控制工具。许多开源项目都在使用它们。如果你的选择只缩小到这两个,那么你和你的团队必须考虑以下问题:
你想如何提交和分支?分布式还是纯粹的集中式?这也与公司政策有关。如果你希望一切都集中管理,那就选择SVN。但这并不意味着你不能在Mercurial中拥有中央仓库。 如果你的团队选择像Mercurial这样的分布式版本控制系统,那么会有很多好处:
如果你正在迁移离开好老的Clearcase ;-),快速查看一下Plastic SCM。大部分基本概念仍然存在,但所有痛苦的部分都已经消失了。而且它是分布式的。请查看以下链接: http://codicesoftware.blogspot.com/2010/03/distributed-development-for-windows.html
这是一篇旧帖子,但我想做出一些贡献。在我看来,SVN已经走过了它的时代。公正地说,如果你有大约50个用户,并且不会分支太多,那么它不会比CC更糟。然而,尽管CC很古老,也很复杂,但它仍具有很多成熟的功能,因此如果你是一个成熟的CC团队,SVN将无法满足你的需求。实际上,最佳实践是尽量少分支并从主干工作。因此,在以上选择中,更好的选择是Hg。此外,我对DVCS有偏见。真正的DVCS只有两个OSS选择:Hg和git,以及目前的一个商业系统:Plastic SCM。如果你习惯于文件历史的可视化表示(vtree浏览器或者CC UCM中的组件树浏览器,我认为它就是这样被称呼的),那么Plastic可能是一个更可行的选择。正如我所见,它具有图形vtree和其他一些东西,例如分支树浏览器。我记得当我支持CC时,我们很多人会轮流在白板上画出“过程”模型。Plastic已经内建了此功能。总之,我对DVCS有偏见......我已经足够忍受SVN和CC以及尝试使用昂贵的复制工具和主控脚本了。DVCS是如此简单!如果你是一个钢铁直男的Linux / Unix开发团队,git可能是更好的选择。如果更多的是Windows或混合环境,则Hg和Plastic看起来是更好的选择,其中Plastic具有更多图形和可视化效果。我认为Hg缺少很多你在CC中习惯的权限控制和访问控制...所以Plastic在这里可能更胜一筹。希望这可以帮到你,祝你好运!
第三方支持。系统是否具有成熟的Visual Studio SCC提供程序?(SVN是,Hg不够成熟)。
Eclipse?两者都有良好的支持。
您的开发人员习惯于成为命令行专家吗?那么第三方支持/插件可能不是问题。