使用svnsync实现svn库同步

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xixiaoxie2/article/details/51396942

源版本库路径:http://130.1.11.180/svn/cm
镜像版本库路径:/home/svnroot/data/repositories/cm/

这种备份会备份版本库所有信息,包括历史提交信息。

1.首先要在备份机上搭好svn。
2.在备份机创建要备份的库

svnadmin create /home/svnroot/data/repositories/cm

3.创建钩子脚本

mv /home/svnroot/data/repositories/cm/hooks/pre-revprop-change.tmpl /home/svnroot/data/repositories/cm/hooks/pre-revprop-change

4.编辑此脚本:可以把所有内容都注释掉,也可以把最后的exit 1 改成exit
5.赋予此脚本执行权限:chmod 755 /home/svnroot/data/repositories/cm/hooks/pre-revprop-change
如果不赋予执行权限,将报错:svnsync:Revprop change blocked by pre-revprop-change hook (exit code 255) with no output

6.初始化镜像库:

 svnsync init file:///home/svnroot/data/repositories/cm/ http://130.1.11.180/svn/cm

返回信息:Copied roperties for revision 0
7.开始同步:

svnsync sync file:///home/svnroot/data/repositories/cm

如果版本库提交历史比较多,这里同步将会花费较长时间
8.以上步骤只是将源库现有内容全部备份了,那么源库后续的更新怎么同步呢?
linux创建个定时任务,把步骤7中的同步命令写进去就好啦。

猜你喜欢

转载自blog.csdn.net/xixiaoxie2/article/details/51396942