2010-06-03 75 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作爲未來的解決方案。