2009-06-19 62 views
4

我正在幫助SCM爲新程序設置,而且我們目前正在決定VCS。開源Clearcase Alternative

此時的主要競爭者是SVN,ClearCase,SVN + DVCS,而且只是DVCS。

目前,團隊傾向於SVN或SVN + DVCS。我們希望避免ClearCase的開支和管理成本,但希望提供它所提供的工作流程和版本控制選項。我提出了使用DVCS的選擇,並且正在考慮這個想法。

對於DVCS,我們正在考慮Mercurial,Bazaar和Git。該團隊對SVN感到滿意,但不認爲它會提供所需的多功能性,這就是爲什麼我們在SVN選項之上查看DVCS的原因。

有沒有人有任何建議(例如現有的工具,流程)獲得這樣的設置?

關注的問題包括:

  • 設置的難易
  • 設置工作流程(發展< - >代碼審查 - >測試 - >樹幹,然後幹線 - >集成測試分支 - >發行與bug修復放進入發佈分支),審計(發現一個bug,何時引入)
  • 生成指標
  • 開發人員使用ClearCase的合理學習曲線。
  • 的Windows開發
  • 問題跟蹤集成(可能將是Redmine的,雖然它不是一成不變的)

回答

9

作爲ClearCase的管理員,我會排除工具,除非你有一個複雜合併工作流。

workflow你提到涉及到能夠分支,修復,然後很容易合併回來,這不應該支持SVN。

當您習慣了ClearCase(特別是非UCM ClearCase)時,最大的陷阱就是配置規範的「構成」。
如果您選擇的DVCS(水銀,巴扎 - 或Git的,因爲它works really well on Windows),你會not be able to get the same "inheritance effect" -- (when you are selecting different versions with different successive select rules --:在這個問題的答案說:

在純粹的中央VCS,您可以定義您的工作區(ClearCase中,你的「視圖」不論是快照還是動態)與你想要的任何規則。
這在DVCS中是不實際的(如在「分佈式」中):當您使用它進行分支時,您需要在出發點和內容明確定義並輕鬆複製到其他存儲庫的情況下這樣做。

如果您使用的是ClearCase UCM,那意味着要識別連貫的文件集,這隻能通過 - 例如 - Git submodules來實現。
這些DVCS的複雜性較高,因爲它們不像ClearCase UCM那樣記錄模塊(或「文件集合」)之間的依賴關係。

因此,要回顧:

  • 易於安裝:所有提到DVCS易於安裝。必須考慮的是用戶訪問方面的管理。
  • 設置工作流程:DVCS支持任何類型的工作流程,甚至是集中式工作流程,或公共 - 私人工作流程或....關於查找錯誤,他們都支持某種類型的bisect process。生成度量標準:如果你的意思是「關於所管理代碼的度量標準」,它們都支持一些完整的日誌系統,能夠顯示大量有關已更改內容的信息。
    但是,根據「關於工具的度量標準」(數據所採用的進程或空間的速度),所提及的DVCS工具被認爲比SVN快得多(請參閱here as an example)。
  • 用於ClearCase的開發人員的合理學習曲線:GUI可以是緩解學習曲線的一個因素,但DVCS與ClearCase非常不同,因爲此「core concepts」答案說明了這一點。
  • Windows開發:它們在Windows平臺上都能很好地工作,可能對Mercurial或Bazaar有一點優勢(更好的集成)。
  • 問題跟蹤集成(可能將是Redmine的,雖然它不是一成不變的):現在Redmine的支持大部分(不只是SVN,因爲它沒有在一開始)
3

什麼問題與Git?我現在在Windows上使用Git。它工作得很好。 Git Extensions是非常有用的,如果你想要一些資源管理器集成,如果這是你的問題。

+1

與Linux相比,Git在Windows上很慢。而且TortoiseGit現在還不是真的可用。那就是問題所在。 – 2009-08-08 00:09:33

+0

如果你是一個Windows用戶,你爲什麼真的會在Linux上多快?重要的是它如何與你的Windows替代品相比(更快)。烏龜完全不重要。 Gitgui工作得很好,它是圍繞Git的功能而設計的。 – 2009-08-10 14:06:39

1

我沒有使用clearcase的經驗,但希望以下內容能幫助一些人。您的問題留下了幾條信息,我會在決定之前考慮這些信息。首先你會得到多少源代碼?雖然SVN對於像Linux內核這樣的真正龐大的項目的大中型項目很好,但Git將提供更好的性能。其次是你在用什麼IDE?雖然Mercurial,Git和SVN都具有visual studio和eclipse插件,但質量非常高。根據關於Redmine的維基百科文章,您正在查看的任何SCM系統都將整合。以下博客可能會對你有所幫助,因爲它的寫作購買了一個以SCM系統爲生的人。 http://www.ericsink.com/

+0

Git/VS集成有一個問題。我似乎無法找到它,但我的評論(仍然存在)是,使用像Git這樣的編輯/合併系統,您並不需要* VS集成。你把所有東西都拉下來,*然後*做你的VS東西(代碼,調試等),*然後*合併。在開發過程中不需要經常返回修訂控制系統,就像您需要始終管理鎖一樣。 – 2009-06-19 18:35:13

0

如果你可以放棄它需要在Windows上運行的要求,那麼我會建議看看Aegis