我们对SVN有很好的经验。它对代码库有很好的控制,很容易看出文件发生了什么。 它还通过第三方插件具有良好的Visual Studio交互性。我们使用VisualSVN,它不是免费的,但非常好。
VSS并不好。搞乱事情很容易。
ClearCase非常好,但许可证非常昂贵。它通常对代码库有非常严格的控制,但如果出现问题则很难修复它。
我曾在各种公司工作过SVN,VSS和clearcase。我一直认为SVN是其中最好的。但是现在有一些更好的分布式版本控制工具(如mercurial,git,bazaar),你可能也想要考虑它们。
以下是我对SVN / clearcase的主要看法:
的 性能问题 强> SVN:我已经看到subversion可以处理单个文件大小为2GB的内容。复杂的目录结构对于颠覆并不重要 Clearcase:我在处理大型文件/存储库时已经看到了明显的性能/网络问题。在我的情况下,它是我的Windows系统中的NFS挂载,并且在执行构建时使得速度非常慢。
的 可扩展性 强> SVN& clearase具有良好的可扩展性选项。然而,svn在互联网上拥有相当不错的社区和支持,缺乏透明度。但是,如果是clearcase,您将获得付费支持并快速解决任何可伸缩性问题。
的 合并分支机构 强> 在这种情况下,Clearcase是明显的赢家。 Clearcase有一段时间具有相当好的合并能力。 SVN在这方面仍在改进,但最近在svn合并功能方面做出了重大贡献。
的 修改和标记代码更改 强> IMO,它在clearase和svn之间几乎相同。但这些惯例有点不同。
的 统计和报告 强> clearcase具有良好的报告功能,优于svn。不过,在这种情况下,我觉得明确是一个过度杀手。 SVN有许多简单的报告工具(如glassfish),能够提供整洁的报告。
的 支持各种技术的发展 强> 我已经研究了上面的大部分技术,但我相信这两种工具都能对所有可能的环境(如Visual Studio,eclipse等)提供良好的支持。
BTW,rational rose是一个UML工具,与版本控制无关。 JIRA是一个错误跟踪工具,它与SVN很好地集成。我建议你看看trac与svn集成。
希望以上有所帮助
无论需要什么,都不要使用VSS。决不。
我所知道的, 吉拉 是不是版本控制系统,而是一个错误/问题跟踪系统(和一个非常好的)。
正如其他答案中所说,SVN是一个非常好的解决方案,很多项目都成功使用。较新的分布式解决方案包括Git,Mercurial(Hg),Bzr,......但我不会在非分布式团队中使用分布式版本控制系统。承担DVCS需要一个真正的初始成本。
我是否已经说过:不要使用VSS,不要使用VSS。
上面的列表主要包含旧学校版本控制。我会不惜一切代价避免使用VSS,因为它只能锁定文件 - 一次只有一个用户可以更改甚至签出文件。
如果你仍然想要单一的本地化存储库,我会推荐SVN。它易于使用,并通过第三方工具具有良好的Visual Studio交互性。
如果您需要完全集成的Microsoft技术解决方案(错误跟踪,源代码控制,持续集成等),我建议使用TFS。
如果您计划进行大量分支/合并,请查看mercurial / GIT以获取distrubutes源代码控制。