Svn
使用 svnadmin hotcopy 進行倉庫遷移
我需要將大量儲存庫遷移到遠端伺服器,並且想知道是否
svnadmin dump
適合svnadmin hotcopy
該工作的工具。兩台伺服器的 SVN 版本相同,但大多數儲存庫目前儲存在 Windows 共享上,而新伺服器將基於 Linux。所有儲存庫目前都在使用 FSFS 後端。
SVN 書建議/
svnadmin dump
+svnadmin create
用於svnadmin load
遷移。我這樣傾斜是因為:
- 這似乎是廣泛推薦的方法
- 它將確保從 Windows 遷移到 Linux 時不會出現兼容性問題
然而,這種方法似乎有顯著的優勢
svnadmin hotcopy
,即:
- 大大降低了程式碼複雜性(可以用一個命令完成很多工作,而上述替代方案需要幾個離散的步驟。
- 它要快得多 - 考慮到需要遷移 100GB 以上的數據,這無疑是一個加分項
- 鉤子和儲存庫配置也被轉移
我已經使用
svnadmin hotcopy
似乎工作正常的工作流程進行了快速實驗 - 但我想避免以後可能會出現的小邊緣情況。為此,任何人都可以提供任何
svnadmin hotcopy
不應該用於儲存庫遷移的重要理由嗎?
svn dump repo > repo.dump
此外,.dump 文件是高度可壓縮的……建議您在將其移至新伺服器之前對其進行 tar.gz。如果您在哪里維護一個與目前機器完全相同的實時備份,那麼 hotcopy 會很有用……如果您正在重建一個新伺服器,最好複製鉤子並手動設置配置。
- 轉儲與版本無關。這意味著任何版本的 svn 都可以使用導出的副本。
- hotcopy 直接複製儲存庫。它很快,但它保留了有關底層文件系統等的資訊。導入副本的伺服器需要是相同的版本,具有相同的配置等。
在 freenode irc 上訪問#svn 也可能是值得的……非常活躍的社區提供了可靠的建議。