#在目标版本库上创建版本库
svnadmin create /svnbackuprepo
#创建一个钩子文件
echo -ne '#!/bin/sh\nexit 0' > /svnbackuprepo/hooks/pre-revprop-change
#授权
chmod a+x /svnbackuprepo/hooks/pre-revprop-change
#初始化同步
svnsync init file:///svnbackuprepo 源版本库地址
#执行同步
svnsync sync file:///svnbackuprepo
#自动同步
#到源版本库的hooks目录复制post-commit.tmpl,复制pre-revprop-change.tmpl
cp post-commit.tmpl post-commit
cp pre-revprop-change.tmpl pre-revprop-change
#赋予权限
chmod a+x post-commit,pre-revprop-change
#修改post-commit,删掉下面原有的代码,添加
svnsync --non-interactive --source-username=源版本库用户名 --source-password=源版本库密码 --sync-username=目标版本库用户名 --sync-password=目标版本库密码 sync 目标版本库地址
#修改pre-revprop-change,将最后的exit 1,改为exit 0
#启动目标svn
svnserve -d -r /svnbackuprepo
#在原版本库上提交代码,测试文件是否能同步
How do I back up a remote SVN repository