前段时间公司的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控制用户权限