我們正在考慮從ClearCase轉移到Subversion。該項目已有一段時間(7年),我們積極支持三個「主要」版本(分支機構),以及一些舊版本的偶爾修復。該項目相當大 - 大約2百萬行java代碼。從ClearCase遷移到SVN的最佳策略是什麼?
我很好奇,如果有人做過類似的遷移。
- SVN能夠處理這麼大的項目嗎?
- 遷移所有歷史版本/分支是否有意義?這些工具可以選擇性地做到嗎?
- 遷移過程需要多長時間才能完成這樣的項目?遷移過程中有效的工作方式是什麼?
我們正在考慮從ClearCase轉移到Subversion。該項目已有一段時間(7年),我們積極支持三個「主要」版本(分支機構),以及一些舊版本的偶爾修復。該項目相當大 - 大約2百萬行java代碼。從ClearCase遷移到SVN的最佳策略是什麼?
我很好奇,如果有人做過類似的遷移。
,做出了這樣的幾個遷移,我認爲:
你不需要導入所有 ClearCase的版本到SVN的歷史。大多數情況下(根據我的經驗),除非您真的需要精細的歷史修訂版本,否則只需要標記版本(在給定集合的所有文件中一致地應用的版本)。
你需要考慮重組在遷移過程中:??是否進口什麼,什麼你離開,你要SVN內容反映正好文件的結構存儲在ClearCase VOB?有時候,這種遷移是重新考慮某些文件組織的機會(通常通過對某些目錄進行簡單的重命名規則)。
遷移是在ClearCase 2 SVN方式更快,因爲SVN是倉庫爲中心,提交一組文件,而ClearCase是文件爲中心,提交文件的文件(多sloooower)
如果要導入的文件集清楚地標識出來,遷移過程可以重複多次,這意味着您可以在第一次(大)導入時在ClearCase中繼續工作,然後將基線(UCM標籤)在您的代碼上,並只重新導入增量,有效地結束遷移過程。
如果你決定移動,你可以看看這個計算器的問題。
recommendation-on-tools-to-migrate-from-clearcase-to-svn
首先是一些資源:
實際存儲庫的大小,文件或它們的尺寸的數量不是限制因素SVN。開發人員的數量,變化的併發性,集成和發佈過程的複雜性,合併和目錄版本控制(重構)的需要都可能對大型項目造成問題。如果你的項目很大,但它相當穩定,開發人員少,分支機構數量少,並且不需要爲以前的幾個版本支持大量的修復程序,SVN應該對你很好。
我寫了一個自定義的遷移工具,將數據帶出ClearCase,這不是一件容易的事。每兩個系統對數據都有不同的數據模型和操作。我不會建議嘗試編寫任何自定義遷移工具,因爲以任何有意義的方式實際從ClearCase中獲取數據非常困難。有關商業解決方案侷限性的詳細信息,我建議聯繫資源鏈接的解決方案提供商。
我個人會盡量提供儘可能多的數據,但您必須瞭解SVN與ClearCase相比的侷限性。在此遷移過程中,任何目錄版本控制(重構)歷史記錄都可能會丟失。 SVN不支持像ClearCase這樣的稀疏分支,如果你使用了任務分支,它可能會膨脹你的SVN倉庫的大小。在這種情況下,你可能只想限制自己到系統分支。 ClearCase中的文件具有獨立的分支結構,而SVN的每個產品都有分支排序,這將導致在該過程中進行大量的分支轉換。通過將自己限制爲系統分支,並且可能只在這些分支上標記版本以獲得系列中完全集成的標籤,可以爲自己節省很多麻煩。如果你的團隊使用UCM,你幾乎可以忘記所有的UCM元數據。他們不會翻譯成SVN。
時間框架很大程度上取決於所使用的工具。對於像你這樣的重大項目,甚至可能要數週。 ClearCase數據庫存在一些奇怪的原因,即使在讀取操作時也會出現大量鎖定,並且存在一箇中心表,這些表會導致大量訪問(如遷移會導致大量問題)。我第一次在產品上運行我的工具比你的產品大一些時,我們估計它會運行3年,經過很多優化,並行化和增量遷移後,它會減少到大約一週。但預計取決於該工具的完成程度,可能需要很多時間差異。雖然自從你遷移到SVN並且你會忽略ClearCase的許多歷史和元數據,你的遷移應該更快。
ClearVision在其網頁上提到其CC2SVN工具可以在兩種產品之間創建一個橋樑。雖然我沒有使用這個工具,但是如果它按我的設想工作,它可以讓你在處理一些內容後同步這兩個版本庫,這將允許你進行一些週末切換,並且零開發停機時間。如果這是不可能的,請嘗試尋求一些替代方法,如增量遷移,您首先遷移到某個日期,然後遷移自該日期以來更改的一小塊數據。
該過程的非常重要的部分是後期移植階段。請不要打擾交換機給您的開發人員帶來的麻煩。你不能低估培訓和明確文件的需要。您還需要在軟件工程部門接受培訓的支持團隊來操作SCM系統,並向開發人員解釋如何在新系統中完成他們習慣的操作。這實際上是一個可能會在移民中打破脖子的點。開發人員抵制任何變化,以及SVN給這個項目帶來的優勢,它本質上就是更差的系統。 ClearCase爲開發人員提供了極大的靈活性,他們將永遠不會與SVN一起工作,除非您在開發過程中儘早使用它們,否則您可能會失去它們甚至更糟糕,導致整個遷移過程逆轉,宣佈災難並失去自己的工作。
另一種選擇是Migrate2SVN。開發人員(Clearvision)剛剛發佈了v2.0,它似乎包含許多對Polarion軟件和上述其他方法的許多改進。
我第二個問題。 ;-) – 2009-02-12 17:39:52
簡短的問題。視窗? – Avram 2009-02-12 17:53:49