一、windows
版本庫遷移(合并):指的是將兩個獨立的、有各自版本信息的版本庫合并為一個版本庫,并保留被合并的兩個庫的版本信息。
環境:windows+SVN+apache
我的版本庫路徑:E:\svnrepository(即我的版本庫是在這個路徑下建立的)
操作步驟:
1、在E:\svnrepository下建立兩個版本庫:local和local1,版本庫local是我原先的版本,版本號已經到了25了,此版本庫一層目錄是liruixuan,二層目錄是test;在新建的版本庫local1中進行三次提交,增加文件夾ivy,在ivy里面增加文件test.txt,產生三條版本信息,記為test2(1,2,3);
現在把版本庫local1根目錄下的所有內容(文件夾ivy,還有里面的test.txt)遷移到版本庫local的目錄liruixuan\test下;
2、運行cmd打開命令解釋程序,首先輸入命令:
svnadmin dump E:\svnrepository\local1 > E:\svnrepository\20091222 ,此命令是將版本庫local1的所有內容轉儲為名叫20091222的文件,當然,這個文件名可以隨便;運行結果如下圖:

3、然后輸入命令:
svnadmin load E:\svnrepository\local --parent-dir liruixuan\test < E:\svnrepository\20091222,此命令是將local1的轉儲文件2009122讀入版本庫local的liruixuan\test目錄下,參數“--parent-dir”是為了指定local下的具體路徑,方法就是在“--parent-dir”后鍵入具體路徑,這里的測試選擇了二級目錄liruixuan\test;運行結果如下圖:

4、更新版本庫local,你會發現liruixuan\test下面多了個文件夾ivy,里面有個文件test.txt ,查看local的log,會發現原版本庫local的版本信息已增加了三個版本,達到了28,新增了版本信息26、27、28,對應的就是原local1的版本信息local1(1、2、3),但除了Revision號由原來的1、2、3變為26、27、28外,其它沒有變化。
如果你想把遷入的版本庫local1里的內容再細致的分到local的不同目錄下,干脆直接用命令 svnadmin load E:\svnrepository\local < E:\svnrepository\20091222 把local1的內容遷移到local的根目錄下,然后再用TortoiseSVN的版本庫瀏覽器做細致調整,反正版本信息都已經合并在一起了,后面的操作都是在一個版本庫下。
二、linux
版本庫遷移(合并):指的是將兩個獨立的、有各自版本信息的版本庫合并為一個版本庫,并保留被合并的兩個庫的版本信息。
環境:linux+collabnet
我的版本庫路徑:/svn/repositories(即我的版本庫是在這個路徑下建立的)
操作步驟:
1、在/svn/repositories下 建立兩個版本庫:first和last,版本庫first是我原先的版本,版本號已經到了25了,此版本庫一層目錄是liruixuan,二層目錄是 test;在新建的版本庫last中進行三次提交,增加文件夾ivy,在ivy里面增加文件test.txt,產生三條版本信息,記為test2(1,2,3);
現在把版本庫last根目錄下的所有內容(文件夾ivy,還有里面的test.txt)遷移到版本庫first的目錄liruixuan/test下;
2、輸入命令:
svnadmin dump /svn/repositories/last > /svn/repositories/20091222 ,此命令是將版本庫last的所有內容轉儲為名叫20091222的文件,當然,這個文件名可以隨便;運行結果如下圖:
*dumpd revision 0.
*dumpd revision 1.
........
3、然后輸入命令:
svnadmin load /svn/repositories/first --parent-dir liruixuan/test < /svn/repositories/20091222,此命令是將last的轉儲文件2009122讀入版本庫first的liruixuan/test目錄下,參數“--parent-dir”是為了指定first下的具體路徑,方法就是在“--parent-dir”后鍵入具體路徑,這里的測試選擇了二級目錄liruixuan/test;運行結果如下圖:
無圖
4、更新版本庫first,你會發現liruixuan/test下面多了個文件夾ivy,里面有個文件test.txt ,查看first的log,會發現原版本庫first的版本信息已增加了三個版本,達到了28,新增了版本信息26、27、28,對應的就是原last的版本信息local1(1、2、3),但除了Revision號由原來的1、2、3變為26、27、28外,其它沒有變化。
如果你想把遷入的版本庫last里的內容再細致的分到first的不同目錄下,干脆直接用命令 svnadmin load /svn/repositories/first < /svn/repositories/20091222 把last的內容遷移到first的根目錄下,然后再用TortoiseSVN的版本庫瀏覽器做細致調整,反正版本信息都已經合并在一起了,后面的操作都是在一個版本庫下。