我们是一家公司,致力于小型和大型项目。有时在一个项目上有更多的开发人员5,10,20等。
我们正在寻找具有最佳可选属性的有效修订控制系统:
性能问题 - 一个文件大小,复杂的目录结构
可扩展性 - 支持5,10,25个开发人员,10,50,200个项目
合并分支
修改和标记代码更改
开发人员,领导者,供应商,领导者发展,客户等的统计和报告。
支持各种技术的开发 - .NET,JAVA,PHP,Oracle,Delhpi,ABAP / SAP。
此时我们正在SVN, VSS, Rational rose, ClearCase and JIRA
之间做出决定。这些解决方案中是否有一些支持错误跟踪和知识库存储?
也许有人有关于这个主题的经验,可以提出建议。
提前致谢。
最好的问候。
答案 0 :(得分:2)
我曾在各种公司工作过SVN,VSS和clearcase。我一直认为SVN是其中最好的。但是,现在有一些更好的分布式版本控制工具(如mercurial,git,bazaar)可供您使用。
以下是我对SVN / clearcase的主要看法:
效果问题 SVN:我已经看到subversion可以处理单个文件大小为2GB的内容。复杂的目录结构对于颠覆并不重要 Clearcase:我在处理大型文件/存储库时已经看到了明显的性能/网络问题。在我的情况下,它是我的Windows系统中的NFS挂载,并且在执行构建时使得速度非常慢。
<强>可扩展性强> SVN&amp; 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集成。希望以上帮助
答案 1 :(得分:1)
我们对SVN有很好的经验。它对代码库有很好的控制,很容易看出文件发生了什么 它还通过第三方插件具有良好的Visual Studio交互性。我们使用VisualSVN,它不是免费的,但非常好。
VSS并不好。搞乱事情很容易。
ClearCase非常好,但许可证非常昂贵。它通常对代码库有非常严格的控制,但如果出现问题则很难修复它。
答案 2 :(得分:1)
无论需要什么,都不要使用VSS。从不。
据我所知,Jira不是版本控制系统,而是错误/问题跟踪系统(非常好)。
正如其他答案中所说,SVN是一个非常好的解决方案,很多项目都成功使用。较新的分布式解决方案包括Git,Mercurial(Hg),Bzr,......但我不会在非分布式团队中使用分布式版本控制系统。承担DVCS需要付出实际的初始成本。
我是否已经说过:在没有环境的情况下不要使用VSS。
答案 3 :(得分:0)
上面的列表主要包含旧版修订控制。我会不惜一切代价避免使用VSS,因为它只能锁定文件 - 一次只有一个用户可以更改甚至签出文件。
如果您仍想要单个本地化存储库,我会推荐SVN。它易于使用,并通过第三方工具具有良好的Visual Studio交互性。
如果您需要完全集成的Microsoft技术解决方案(错误跟踪,源代码控制,持续集成等),我建议使用TFS。
如果您计划进行大量分支/合并,请查看mercurial / GIT以获取distrubutes源代码控制。
答案 4 :(得分:0)