SVN服务器迁移
使用 svnsync 命令迁移svn服务器
1、在新服务器上创建一个空白的svn目录
svnadmin create /local_path/new_repo
2、修改new_repo下hooks中的文件
cp pre-revprop-change.tmpl pre-revprop-change
vi pre-revprop-change
把pre-revprop-change所有行都注销,同时最后一行改成 exit 0
给文件赋予可执行权限 chmod u+x pre-revprop-change
3、更新new_repo的用户和权限
建议将老svn服务器下的conf打包发送到新new_repo覆盖conf
4、初始化new_repo目录(PS.新svn服务器用file–本地协议访问)
svnsync init file:///local_path/new_repo svn://OLD_SERVER_IP/old_repo
成功执行的结果是提示:复制版本 0 的属性。
5、初始化完成后,执行命令进行同步
svnsync sync file:///local_path/new_repo
6、新增老svn服务器自动推送提交到新svn服务器,用于过渡期
在老svn服务器的 hooks/下,
cp post-commit.tmpl post-commit
vi post-commit
注销所有行,新增下列一行
svnsync sync --non-interactive svn://NEW_SVN_SERVER_IP/NEW_REPO --username username --password password
chmod u+x post-commit
7、启动新svn服务
svnserve -d -r /local_path/ (启动多svn仓库服务)