我們在特定物理位置/mnt/data1/repos
澄清整合多個SVN回購
多個SVN存儲庫和回購在結構如下
repos
|
App1
|
trunk
|
module1
|
module2
|
branches
|
App2
|
trunk
|
module1
|
module2
|
branches
|
App3
|
trunk
|
module1
|
module2
|
branches
我們正試圖整合多個回購單回購爲下面以不同的路徑/mnt/data2/repo
repo
|
trunk
|
App1
|
module1
|
module2
|
App2
|
module1
|
module2
|
App3
|
module1
|
module2
我在創建使用svnadmin的回購
創建目錄/mnt/data2/repo/trunk/App1
,/mnt/data2/repo/trunk/App2
& /mnt/data2/repo/trunk/App3
使用svn mkdir
。
然後我試圖做APP1 /mnt/data1/repos/App1/
的svn dump
,使用svndumpfilter
與include trunk
過濾,並做了svn import
到/mnt/data2/repo/trunk/App1
。它失敗了,因爲/mnt/data2/repo/trunk/App1
不是回購的根源。
請讓我知道執行此合併的最佳方法。 重要的一點是,我們應該保留所有回購的修訂歷史記錄。
編輯:
我執行以下步驟。
svnadmin dump --quiet /mnt/data1/repos/App1 > App1.dmp
svndumpfilter include --targets /tmp/list.txt <App1.dmp> App1Trunk.dmp
svnadmin create /mnt/data2/repo/
svn mkdir --parents svn://<IP>:<PORT>/trunk/App1 -m "Creating MC directory"
svnadmin load --quiet --parent-dir trunk/App1 /mnt/data2/repo < App1Trunk.dmp
當我試圖加載我發現它仍然創造trunk/App1/trunk/module1
,trunk/App1/trunk/module2
等幫助我在將數據加載到trunk/App1/moudle*
轉儲。
[將SVN存儲庫數據與歷史記錄作爲子文件夾移動到另一個存儲庫]的可能重複(http://stackoverflow.com/questions/11563031/moving-svn-repositories-data-with-history-as-subfolders-into-另一個倉庫) – bahrep
感謝您指出我的答案。但是,當我嘗試導入過濾的轉儲失敗。讓我嘗試'svnadmin import'帶'--parent-dir'並更新 – pprakash
沒有'svnadmin import'命令。導入過濾轉儲時會出現什麼錯誤? – bahrep