目前我打算幫助一個開源項目的相當大的git轉換。 存儲庫相當大,所以試用&錯誤很慢(超過60,000次提交)。svn to git轉換(如何檢查存儲庫質量)
有很多與有關的問題如何完成git轉換,但幾乎沒有關於如何檢查轉換是否有效的詳細信息。
當然也有像兩個回購設定的修訂和比較庫的內容,但歷史,在提交信息...移動文件,跟蹤分支機構等之間變化的基礎 - 變得更加複雜。
所以我的問題是:
- 哪些領域應該在新轉換的git倉庫進行檢查,發現轉換是正確的,成功了嗎?
- 有什麼需要注意的問題?
- 任何人都可以提出評估轉換svn項目的策略,以確保在轉換過程中沒有出錯嗎?
注:目前我們使用reposurgeon但是應該對答案沒有霸菱,但它確實意味着我們要做一個一次性的轉換和得到,它右 。
也許更好地讓過渡更平緩,即保持Subvresion資料庫在線(至少只讀)一段時間?如果在轉換過程中沒有錯誤消息+一年後沒有人會抱怨任何缺失的信息,那麼考慮穩定的git存儲庫;並在失蹤的情況下從SVN獲取它。 –
@Vi,是的,我們會扔掉svn回購,我有一個本地副本(用於測試),我們保留備份。即使我們有SVN可用,並且它可能(原則上)可以返回並使用它。 - 一旦我們有了幾個月的發展 - 發現一些錯誤將會非常棘手,要回頭去糾正(我猜可能無論如何,重寫歷史的工具存在但不是微不足道的) - 很可能我們只是與我一起生活,我想避免。 – ideasman42
在Git中,如果有人重寫了歷史記錄併發布了它(使用'push --force'),如果您記住原始歷史記錄的上次提交SHA-1值(並且尚未進行垃圾回收),則仍然可以訪問原始歷史記錄。您還可以設置規則以防止在使用denyDelete和denyNonFastForward進行推送時覆蓋歷史記錄。 –