1

我们是一家公司,致力于小型和大型项目。有时在一个项目上会有更多的开发人员 5、10、20 等。

我们正在寻找具有最佳可选属性的有效版本控制系统:

性能问题——一种文件大小,复杂的目录结构

可扩展性——支持 5、10、25 个开发人员,10、50、200 个项目

合并分支

代码更改的修订和标记

开发人员、领导者、供应商、领导者发展、客户等的统计和报告。

支持各种技术的开发——.NET、JAVA、PHP、Oracle、Delhpi、ABAP/SAP。

此刻,我们在 之间做出决定SVN, VSS, Rational rose, ClearCase and JIRA。其中一些解决方案是否支持错误跟踪和知识库存储库?

也许有人在这个话题上有经验,可以提出建议。

提前致谢。

最好的祝福。

4

5 回答 5

2

我曾在与我合作过的多家公司从事 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 集成。

希望以上有所帮助

于 2010-10-21T09:46:41.750 回答
1

我们对 SVN 有很好的经验。它对代码库有很好的控制,很容易看到文件上发生了什么。
它还通过 3rd 方插件具有良好的 Visual Studio 交互性。我们使用VisualSVN,它不是免费的,但非常好。

VSS 不好。很容易把事情搞砸。

ClearCase 相当不错,但许可证非常昂贵。它通常对代码库有非常严格的控制,但如果出现问题,很难修复它。

于 2010-10-21T09:16:49.667 回答
1

无论如何,不​​要使用VSS。绝不。

据我所知,Jira不是一个版本控制系统,而是一个错误/问题跟踪系统(而且是一个非常好的系统)。

正如在其他答案中所说,SVN 是一个非常好的解决方案,被许多成功的项目使用。较新的分布式解决方案包括 Git、Mercurial (Hg)、Bzr ……但我不会在非分布式团队中使用分布式版本控制系统。了解 DVCS 需要真正的初始成本。

我是否已经说过:在任何情况下都不要使用 VSS。

于 2010-10-21T09:30:56.123 回答
0

上面的列表主要包含老式的修订控制。我会不惜一切代价避免 VSS,因为它会专门锁定文件——一次只有一个用户可以更改甚至签出文件。

如果您仍然想要单个本地化存储库,我会推荐 SVN。它易于使用,并且通过 3rd 方工具具有良好的 Visual Studio 交互性。

如果您需要完全集成的 Microsoft 技术解决方案(错误跟踪、源代码控制、持续集成等),我建议使用 TFS。

如果您计划进行大量分支/合并,请查看 mercurial/GIT 以了解分布式源代码控制。

于 2010-10-21T09:16:26.800 回答
0
  • Clearcase只有你知道怎么用才好,而且很贵
  • TFS 表现不佳。它慢得要命。
  • SVN 没有很好的分支。附带说明一下,所有主要的 OSS 项目都已经放弃了它,转而使用 Git 或 Mercurial
  • 避免VSS
  • 我肯定会选择Jira + Plastic SCM
  • Hg 和 Git 是极好的选择,但大多数时候你需要成为命令爱好者
于 2010-10-30T16:32:45.287 回答