2010-06-03 78 views
4

在我的公司中,我们目前使用Rational clearcase作为嵌入式软件开发的软件配置管理工具。该软件基本上用于汽车,特定于引擎(我不认为这些信息真的很重要)。 但我发现Clearcase非常缓慢地执行任何活动(访问文件,分支和标签),除此之外还有其他各种限制。可用于嵌入式软件开发的最快SCM工具

我们最近决定研究一些免费的&开源的分布式版本控制系统,它可以处理我们大型项目的速度和效率。该工具应该是一个完整的存储库,具有完整的历史记录和完整的修订版本跟踪功能,不依赖于网络访问或中央服务器。分支和合并是快速且容易的。它应该有多站点开发工具。

随着上述这些要求,我们已经提出了一些对于目前市面上的工具:

GIT,水银,集市,颠覆,CVS,Perforce公司,和Visual SourceSafe。

我需要大家的帮助,为我找到一个适合我的approjectate SCM工具,它符合上述要求。

感谢您提前, Rahamath。

回答

1

我们正在使用ClearCase(使用它的advantagespain points),我们正在考虑DVCS。我们正在Windows(msysgit)和“中央”Solaris服务器上推出Git,它确实满足我们的需求,即合并,以及分销(用于离岸开发)

但是,我们必须建立对开发商的“中央”资料库,以作为参考使用,为此我们不得不使用gitolite(PU的分支机构)为其细粒度的访问级别(回购,分支,目录访问每用户或每组,基于ldap的)

Eclipse is in progress的集成,我们一个因为所有Eclipse项目都从CVS切换到Git(因此他们致力于支持它),因此对支持级别有信心。

Mercurial已被考虑并可以提供相同级别的功能,但具有much complex branching model
Git没有安装扩展。它只是起作用(通过我的用户支持服务,我们可以保持在合理水平的学习曲线)

2

Mercurial或Git是最流行的分布式版本控制系统。我相信Git具有速度优势,特别是在提交,分支和合并时。而且,它的合并算法是我所见过的最好的;大多数合并可以自动处理,无需用户输入。

从我自己的经验来看,我会毫不犹豫地推荐Git,因为它不是因为它非常陡峭的学习曲线。但是,我相信其中很大一部分原因是由于切换到DVCS时发生了范式转换,例如获取推拉的压力,存储库分散的方式。

Subversion,CVS,Perforce和SourceSafe分别为而不是;此外,Perforce和SourceSafe既不是免费的,也不是开源的。 CVS只是过时了,Subversion是它的天然继承者,所以我不会再考虑它。

2

如果你想要“不依赖于网络访问或中央服务器”的东西,那么你的列表中的集中式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上的一些功能。

+0

Git的Windows支持确实落后于Mercurial的,但是我发现一旦学习曲线被克服,它就非常有用。像TortoiseGit这样的工具也可以帮助实现这一目标(尽管它确实将用户推向了更多SVN风格的工作流程)。 Git是我现在选择的个人VCS。 – alastairs 2010-06-03 10:26:13

+0

也是我的。尽管当我尝试'msysgit'时,我根本不用在windows上工作,但它有点慢,并且不适合。但是再一次,我不适合用Windows,所以我不能真正判断。 Git确实具有UNIX的传统,整个管道/瓷器风格的体系结构。 – 2010-06-03 10:30:29

1

在工作中,我们实际上是在ClearCase的也和不满意的某些原因......很慢,更新大型项目(尤其是如果不是本地网络)...

我们(不是我)基准一些产品并选择Mercurial作为未来的解决方案。