1、由于同事临时出差,故将从SVN从内网迁移到外网以供使用(当时使用全库迁移,所以不写明细了)

2、现在同事出差结束,需要将SVN迁移回来,为了节约时间,本次只迁移版本差部分。


3、操作例子:

/home/svn/svnrepos/ku #我的库地址

4、校验内外网的版本差:

svnlook youngest /home/svn/svnrepos/ku  #内网外网各操作一次,校验版本差,例如是10000:12000

5、为了减少停止服务时间,先进行一次预迁移:

svnadmin dump /home/svn/svnrepos/ku -r  10000:12000  --incremental >/home/ku10000:20000.dumpfile 
md5sum  /home/ku10000:20000.dumpfile                    
gzip -v /home/ku10000:20000.dumpfile
scp ku10000:20000.dumpfile.gz 用户@地址:/home/XXX/

6、在内网导入版本差及校验:

gunzip -v /home/ku10000:20000.dumpfile.gz
md5sum  /home/ku10000:20000.dumpfile                            #与上文保持一致
cd /home/svn/svnrepos/                                          #到库目录
svnadmin load ku </home/svn/svnrepos/ku10000:20000.dumpfile
svnadmin verify ku                                              #校验版本库问题
chown -R svn:svn /home/svn/svnrepos/ku                          #增量部分拥有者会变root,所以改成本身拥有者

7、正式更新时停止外网svn服务(大部分数据在预迁移完成,所以可以停很短时间),然后重复以上流程一遍便可,然后启动内网svn服务。