前段時間公司的SVN服務器做升級,需要做SVN遷移,百度谷歌了解了大概,在測試環境試了一下,沒什么問題,然后改在正式環境做,遷移成功。之前用的是1.6,我看了下官網有1.8,征得同意后就直接升級加遷移一起做了。下面是遷移的大概步驟
1. 源服務器:
1) 停掉SVN service
2) 運行dump 命令,制作待遷版本庫的dump 文件
由於當前版本庫中文件版本較多,一萬兩千多個,試過一次性制作dump文件,但是會出錯, 所以改成分段制作
(這里用了一個腳本)
echo %date% %time% Start dump -r 0:1999 >> c:\users\svndumplog.txt svnadmin dump E:\Repository -r 0:1999> c:\users\dumpSVN_Rep01.dump echo %date% %time% Start dump -r 2000:3999 >> c:\users\svndumplog.txt svnadmin dump E:\Repository -r 2000:3999> c:\users\dumpSVN_Rep02.dump
2. 目標服務器:
1) 建立一個與源服務器結構相同的版本庫
2) 運行load 命令,將源服務器上的dump文件依次載入到新建的版本庫中(還是用了一個腳本)
echo dumpSVN_Rep01 Start from %date% %time% >> D:\SVN_Dump\SVN_LoadLog.txt svnadmin load D:\csvn\data\repositories\SVN_Repository < D:\SVN_Dump\dumpSVN_Rep01.dump echo End at %date% %time% >> D:\SVN_Dump\SVN_LoadLog.txt echo dumpSVN_Rep01 Start from %date% %time% >> D:\SVN_Dump\SVN_LoadLog.txt svnadmin load D:\csvn\data\repositories\SVN_Repository < D:\SVN_Dump\dumpSVN_Rep01.dump echo End at %date% %time% >> D:\SVN_Dump\SVN_LoadLog.txt
3) 根據源服務器中設置,為目標服務器添加鈎子文件
4) 對應添加用戶權限,升級后的sub version通過Subversion edge控制用戶權限