我曾在与我合作过的多家公司从事 SVN、VSS 和 clearcase 方面的工作。我一直觉得SVN是其中最好的。然而,现在有一些更好的分布式版本控制工具(如 mercurial、git、bazaar)可用,您可能也想考虑一下。
以下是我主要对 SVN/clearcase 的看法:
性能问题
SVN:我已经看到 subversion 可以处理高达 2GB 的单个文件大小的事情。复杂的目录结构对于 Subversion 来说并不重要,因为它是 Clearcase:我在 clearcase 中看到了处理大型文件/存储库时的性能/网络问题。在我的情况下,它是我的 Windows 系统中的 NFS 挂载,它在执行构建时让事情变得非常缓慢。
可扩展性
SVN 和 clearase 都有很好的可扩展性选项。然而 svn 有很好的社区和互联网支持,缺乏 clearcase。但是,在 clearcase 的情况下,您将获得付费支持并快速解决任何可扩展性问题。
在这种情况下,合并分支
Clearcase 显然是赢家。Clearcase 有一段时间具有相当不错的合并功能。SVN 在这方面仍在改进,但最近对 svn 合并功能做出了重大贡献。
修改和标记代码更改
IMO,clearase 和 svn 之间几乎相同。但是约定有点不同。
统计和报告
clearcase 有很好的报告能力,优于 svn。但是,在这种情况下,我觉得 clearcase 是一个过度杀手。SVN 有很多简单的报告工具(如 glassfish),它们能够提供简洁的报告。
支持各种技术的开发
我已经研究过上述大多数技术,但我相信这两种工具都可以很好地支持所有可能的环境(如 Visual Studio、eclipse 等)
顺便说一句,rational rose 是一个 UML 工具,与版本控制无关。JIRA 是一个错误跟踪工具,它与 SVN 很好地集成。我建议您查看 trac 以与 svn 集成。
希望以上有所帮助