在我的公司,目前我们正在使用Rational clearcase作为嵌入式软件开发的软件配置管理工具。该软件基本上是为汽车,具体到引擎(我不认为这些信息真的很重要)。但我发现Clearcase执行任何活动(访问文件、分支和标记)都非常慢,除此之外还有各种其他限制。
我们最近决定研究一些免费的、开源的、分布式的版本控制系统,它能够快速高效地处理我们的大型项目。这个工具应该是一个完整的存储库,具有完整的历史记录和完整的修订跟踪功能,不依赖于网络访问或中央服务器。分支和合并是快速和简单的。它应该有多站点开发设施。
有了上面提到的这些需求,我们提出了目前市场上可用的一些工具:
Mercurial、Bazaar、Subversion、CVS、Perforce和Visual SourceSafe。
我需要大家的帮助,为我找到一个合适的配置管理工具,满足上述要求。
先谢谢你,拉哈马思。
发布于 2010-06-03 19:35:25
我们正在使用ClearCase (及其advantages和pain points),并且我们正在考虑DVCS。
现在,我们在Windows (msysgit)和一个“中央”Solaris服务器上都引入了Git,它在合并和发行版(用于离岸开发)方面确实满足了我们的需求。
但我们必须为开发人员设置“中央”存储库作为参考,为此,我们必须使用 ( pu分支)来实现其细粒度的访问级别(存储库、分支、每个用户或每个组的目录访问、基于ldap的访问)。
与Eclipse is in progress的集成,我们在支持级别上很有信心,因为所有的Eclipse项目都从CVS切换到了Git (所以他们承诺支持它)。
Mercurial已经被考虑过,当然也可以提供相同级别的功能,但它有一个much complex branching model。
Git没有要安装的扩展。它很有效(通过我的用户支持服务,我们设法将学习曲线保持在一个合理的水平)
发布于 2010-06-03 18:15:18
Mercurial或Git是最流行的分布式版本控制系统。我相信Git具有速度优势,特别是在提交、分支和合并方面。此外,它的合并算法是我见过的最好的;大多数合并都可以在没有用户输入的情况下自动处理。
根据我自己的经验,如果不是因为Git的学习曲线非常陡峭,我会毫不犹豫地推荐它。然而,我相信这在很大程度上是由于切换到DVCS时的范式转变,比如掌握了推拉的诀窍,存储库变得分散的方式。
Subversion、CVS、Perforce和SourceSafe都不是发行版;此外,Perforce和SourceSafe既不是免费的,也不是开源的。CVS几乎过时了,Subversion是它的自然继承者,所以我不会再考虑它了。
发布于 2010-06-03 18:20:28
如果你想要一些“不依赖于网络访问或中央服务器”的东西,那么你列表中的集中式SCM (Subversion,CVS,p4)就必须去掉。
如果你想要跨平台,那么我认为Visual Source Safe必须去掉。
此外,您提到开源,这踢出了p4和Visual Source Safe。
CVS是相当旧的,如果你打算使用它,你最好忽略它,改用SVN。
Git是你可以添加到列表中的东西,但它对windows的支持不如bzr和mercurial好。
我自己使用git,但我只在Gnu/Linux上开发,所以不能评论对windows的支持。此外,它有点古怪,但一旦你习惯了,它就会变得非常强大。有一个学习曲线的问题,所以你可能需要花一些时间来训练你的团队使用这个工具。
Bzr,我不知道。当我最后一次接触它的时候,它有存储库格式的问题,而且速度非常慢。现在好多了,但我第一次接触就伤痕累累了。
hg很可爱,在windows和Gnu/Linux上运行良好,但由于我大量使用git,我怀念它在Hg上的一些功能。
https://stackoverflow.com/questions/2964908
复制相似问题