導(dǎo)出原SVN版本庫
dunp方式可分為全量導(dǎo)出和增量導(dǎo)出
全量導(dǎo)出:
壓縮備份: [root@aliyun home] svnadmin dump /home/svn/repos1 | gzip > ./repos1.gz 不壓縮備份: [root@aliyun home] svnadmin dump /home/svn/repos1 > ./repos1.svn
增量導(dǎo)出:
[root@aliyun home] svnadmin dump /home/svn/repos1 -r 0:50 > repos1 [root@aliyun home] svnadmin dump /home/svn/repos1 -r 51:100 --incremental > repos2 [root@aliyun home] svnadmin dump /home/svn/repos1 -r 101:150 --incremental > repos3
注意了如果是增量導(dǎo)出(新版本庫中已經(jīng)導(dǎo)入過版本)需要加–incremental 參數(shù)
新服務(wù)器上創(chuàng)建版本庫
[root@svn home] svnadmin create /home/svn/reposnew
將導(dǎo)出的備份文件復(fù)制到新服務(wù)器上并導(dǎo)入該文件
壓縮過的文件不能直接導(dǎo)入,需要解壓(所以如果兩臺(tái)服務(wù)器可以內(nèi)網(wǎng)通信完全不需要進(jìn)行壓縮)
[root@svn home] gzip -d repos1.gz [root@svn home] svnadmin load /home/svn/reposnew < repos1
未壓縮文件直接導(dǎo)入即可:
[root@svn home] svnadmin load /home/svn/reposnew < repos1.svn
如果是分版本導(dǎo)入出現(xiàn)該錯(cuò)誤提示就是因?yàn)閷?dǎo)出文件時(shí)沒有加參數(shù) --incremental 導(dǎo)致:
[root@svn home] svnadmin load /home/svn/reposnew < /home/repos2 <<< Started new transaction, based on original revision 5 svnadmin: E160020: File already exists: filesystem 'reposnew/db',......
導(dǎo)入的過程可能花費(fèi)的時(shí)間較長,完成后設(shè)置好賬戶密碼通過本地svn客戶端瀏覽測(cè)試。
遷移了SVN版本庫自然的本地電腦上的地址也需要更換,windows 下如下:
在彈出框中修改為新的地址即可。
如果服務(wù)器上有直接從SVN版本庫中提取代碼,那么也是需要修改地址,先查看服務(wù)器上對(duì)于目錄的信息可以獲取到SVN地址:
[root@aliyun home] svn info /data/wwwroot/test Path: . Working Copy Root Path: /data/wwwroot/test URL: svn://192.168.31.8/xxx/test Repository Root: svn://192.168.31.8/xxx Revision: 335 .......
修改地址通過svn switch 命令,基本格式如下:
[root@aliyun test] svn switch --relocate svn://old_IPADDR/repos http://new_IPADDR/repos
例如上面這個(gè)目錄就需要調(diào)整為:
[root@aliyun test] svn switch --relocate svn://192.168.31.8/xxx/test http://192.168.31.10/xxx/test 再次查看信息就會(huì)變更了: [root@aliyun test] svn info /data/wwwroot/test Path: . Working Copy Root Path: /data/wwwroot/test URL: svn://192.168.31.10/xxx/test Repository Root: svn://192.168.31.10/cnyunwei .......