2013-05-02 60 views
0

我們在CentOS Linux 6.3上有大約5個不同的SVN版本庫在SVN 1.6.11上運行。上週我被要求將我們的SVN服務器遷移到新的服務器上。我們有一個cron作業,每週對每個repo進行一次完整備份,每隔一晚我們通過以下方式執行增量備份: svnadmin dump -r 100-200 --incremental repo |gzip -9 > incremental_100_200.svn.gz (其中repo是回購的名稱,100是自上次備份以來最早的修訂而200是此備份時最新的修訂)SVN如何解決亂序版本庫

我完成了最後一次完整備份到新服務器的恢復,創建了一個近乎最新的回購副本。在整個一週中,我計劃將增量備份從舊服務器恢復到新服務器以保持同步,然後在週五切換到新服務器。

不幸的是,我一定錯過了一些回購協議的增量恢復,但不知何故,我們切換到新的服務器,人們繼續添加文件並進行修改,爲回購添加新的修訂。問題在於,由於在一些回購協議中缺少一些修訂,現在新的修訂版本已經採用了這些修訂版本號,所以我不能只從舊的回購中獲得增量並將其加載到新的回購中,因爲現在有其他數據佔用這些修訂。我該怎麼辦?

回答

0

將這兩個存儲庫轉換爲Git存儲庫,將它們導入到同一個項目中,使用git rebase在舊更改之上移動新更改,然後將存儲庫從Git推回到SVN。完全有可能(有可能?)在重新綁定期間會發生合併衝突,您需要手動修復。