2014-03-07 70 views
0

我正在嘗試將某個項目從一個SVN遷移到另一個。這兩個存儲庫都有其他具有多個修訂版本的項目。 我正在嘗試將項目從一個存儲庫移到另一個存儲庫以及其提交歷史記錄。版本號並不重要,理想情況下,我只想複製過去一年的提交歷史記錄,因爲我們不需要更多,我相信複製整個歷史將耗費太多時間。遷移新的SVN信息庫

我已經看過svnsync的,但我認爲它不適合我的目的,新的倉庫是不是從0開始

回答

0

如果修訂數目很小(小於說20),那麼我會做它手動。將舊的複製文件中的更新修改爲新建並提交。重複50次。

您可以創建一個腳本,該腳本具有更新舊工作副本的修訂列表,並在循環中執行更新/複製/提交過程。

在TortoiseSVN安裝文件夾中有命令行應用程序svnsvnlook,它們可以幫助您製作上述腳本。

1

轉儲倉庫到特定的格式,可以使用:

$ svnadmin dump $REPO_DIR > dumpfile 

您可以使用svndumpfilter指定要轉儲的內容:

$ svnadmin dump $REPO_DIR | svndumpfilter include $REPOPREFIX > dumpfile 

這樣,你只傾銷你想要的項目。

當您在轉儲文件,你可以使用svnadmin load加載它:

$ svnadmin load $REPO_PATH < dumpfile 

的問題是,你不能加載您的舊倉庫已經存在的目錄。在這種情況下,你可能必須指定--parent-dir

$ svnadmin load --parent-dir /second_repo < dumpfile 

你與負載完成後,您可以在此目錄移動到另一個位置。

有關更多詳細信息,請參閱Migrating Repository Data Elsewhere上的在線Subversion手冊。