我有不同主機上的兩個現有顛覆庫(主機a和主機B),我想一個目錄從回購副本回購B.如何將Subversion存儲庫作爲新目錄複製到現有存儲庫?
基本上https://host-a/repo/some/path/moduleA
應該被複制到https://host-b/repo/some/other/path/moduleA
。應保留所有歷史記錄,並保留host-b中的現有數據。
這兩個存儲庫沒有任何衝突的目錄層次結構。存儲庫不共享共同的祖先。
我有不同主機上的兩個現有顛覆庫(主機a和主機B),我想一個目錄從回購副本回購B.如何將Subversion存儲庫作爲新目錄複製到現有存儲庫?
基本上https://host-a/repo/some/path/moduleA
應該被複制到https://host-b/repo/some/other/path/moduleA
。應保留所有歷史記錄,並保留host-b中的現有數據。
這兩個存儲庫沒有任何衝突的目錄層次結構。存儲庫不共享共同的祖先。
您是否檢出了svnadmin dump
和svnadmin load
組合?按照Subversion red book,它們可以用於合併一個倉庫與另一:
轉儲格式也可用於幾個不同資料庫的內容合併到一個單一的存儲庫。通過使用svnadmin load的--parent-dir選項,您可以爲加載過程指定一個新的虛擬根目錄。
更新:
尤哈,以響應您的評論:有一個命令調用svndumpfilter
(見this section in the red book),我認爲可能的幫助。
您可以使用svn:externals。這將消除將文件從一個倉庫複製到另一個倉庫的需要,並且還將繼續保持每個倉庫中的這些文件夾同步。您也可以訪問完整的提交日誌。
我真的只想使用一個存儲庫,所以svn:externals不適合我。 – 2010-04-20 06:44:55
這似乎描述如何將整個外部存儲庫複製到回購。我只想要一個回購目錄。 – 2010-04-17 12:24:18
我已經更新了答案(評論似乎不喜歡額外的鏈接...) – Ash 2010-04-17 12:41:25