2013-02-06 56 views
6

我正在嘗試製作一個版本庫的副本,但它應該是彼此的獨立副本。這背後有沒有什麼魔法,或者只是使用svn客戶端並對其進行克隆?製作svn版本庫的獨立副本

謝謝

+0

爲什麼你需要這樣做?請記住,當你這樣做的時候,原始文件和克隆之間沒有任何聯繫,你不能像在一個像hg或git這樣的DVCS中合併它們之間的變化。 – alroc

回答

10

嘗試svnadmin hotcopy。你可以在svn書籍(版本控制Subversion)的repo maintenance section中查找它,特別是在"repository replication"部分。還有svnsync命令,但只有在您嘗試創建鏡像時才需要此命令。

引用此書:「簡單地做一個遞歸目錄拷貝存在產生錯誤備份的風險。對於Berkeley DB,文檔描述了可以複製數據庫文件的特定順序,以保證有效備份副本,FSFS數據存在類似的排序。「 FSFS和Berkeley DB是普通Subversion安裝提供的兩個數據庫選項,FSFS是默認設置。

用法示例(再次從書):

$ svnadmin hotcopy /var/svn/repos /var/svn/repos-backup 
2

使用svnrdump工具,通過HTTPS和SVN中獲得的資料庫轉儲(完整的修訂歷史記錄)://(即遠程)和svnadmin load到一個新的乾淨的庫。請注意,爲了獲得完整的存儲庫轉儲,您必須具有對存儲庫中所有樹的完全讀取權限,否則轉儲可能不完整。