2009-10-30 65 views
2

我的僱主責成我成爲我們的新版本控制管理員。我們目前使用兩種不同的版本控制系統來處理兩種不同的代碼庫。兩個代碼庫中的代碼/功能在一些區域重疊。我們將把兩個代碼庫移到新的版本控制系統中。如何轉移到新的版本控制系統

我徵求關於如何做到這一點的想法。我想我們可以將這兩個代碼庫添加到新版本控制中作爲新版本庫中的同級,並通過逐漸升級到層次結構中的第三個兄弟,最終完全排除第三個兄弟。然而,這只是一個30,000英尺的問題,而不是一個解決方案。任何想法,陷阱,避免災難的程序? 感謝

+2

我是第二個Lukáš,但會添加「不知道目標版本控制系統是什麼」 – 2009-10-30 19:03:39

+1

這不是「特定」的意思。 – 2009-10-30 19:04:32

回答

0

要考慮的問題:

  • 了多少歷史,你會遷移?
  • 您需要多久才能繼續使用舊系統進行修補工作等?
  • 您需要多久才能保留舊系統訪問歷史信息?
  • 是否新的目標VCS提供從兩個老VCS的自動或半自動遷移的遷移方法?
  • 如何協調兩個舊VCS中的分支系統與新VCS中使用的模型?
  • 標記工作是否正常?
  • 是否可以轉讓標籤(如果您沒有導入太多的歷史記錄,這並不重要)?
  • 什麼訪問控制應用到老VCS是必須在新的再現?
  • 哪些訪問控制將應用於新的VCS?

這至少是一個起點 - 我毫無疑問忘記了很多重要的話題。

2

的Git可以在SVN,Git的這樣一種方式設置,CVS的客戶都可以連接。這樣你就可以轉移到一箇中央的Git倉庫,但仍然習慣了SVN的人可以繼續使用它。

這聽起來是在你的具體情況,有兩個代碼庫要合併,你應該讓三個不同版本庫,並開始前兩個組合成第三個。

1

我的建議是嘗試一些「測試」遷移。看看它是如何發展的,並根據需要調整腳本。

然後,一旦你的設置,你可以真正和你做執行。將舊的回購存檔也歸檔。

另一個你可能會找到靈感的地方是OpenOffice.org。他們正在從SVN to Mercurial去中間。他們可能已經發布了他們的移民工作信息。