最快的SCM工具可用于嵌入式软件开发

时间:2010-06-03 10:08:24

标签: version-control embedded clearcase

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

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

根据上述要求,我们提出了市场上现有的一些工具:

GIT,Mercurial,Bazaar,Subversion,CVS,Perforce和Visual SourceSafe。

我需要每个人的帮助,为我找到符合上述要求的适用SCM工具。

提前感谢你, Rahamath。

4 个答案:

答案 0 :(得分:2)

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

根据我自己的经验,如果不是因为它非常陡峭的学习曲线,我会毫不犹豫地推荐Git。但是,我相信这很大程度上是由于切换到DVCS时的范式转换,例如获取推送和拉动的方式,以及存储库变得分散的方式。

Subversion,CVS,Perforce和SourceSafe 分发;此外,Perforce和SourceSafe既不是免费的也不是开源的。 CVS几乎已经过时,Subversion是它的天生继承者,所以我不会再考虑它了。

答案 1 :(得分: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非常重,我想念它的一些功能。

答案 2 :(得分:1)

在工作中我们实际上也在使用ClearCase而且由于某些原因而不满意......更新大型项目非常慢(特别是如果不是本地网络)......

我们(不是我)对某些产品进行了基准测试,Mercurial被选为未来使用的解决方案。

答案 3 :(得分:1)

我们正在使用ClearCase(其advantagespain points),我们正在考虑DVCS

目前,我们正在Windows(msysgit)和“中央”Solaris服务器上引入Git,它确实满足了我们在合并方面的需求,以及在分发方面(近海发展)

但我们必须设置“中央”存储库供开发人员用作参考,为此我们必须使用 gitolite (pu分支)进行细粒度访问level(repo,branch,每个用户或每个组的目录访问权限,基于ldap)

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

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