CentOS:使用svnsync迁移SVN

使用svnsync可以从一个版本库(repository)迁移到另一个版本库。 建立镜像版本库:

# 创建版本库
svnadmin create /var/svn/project1
# 创建钩子
cp /var/svn/project1/hooks/pre-revprop-change.tmpl /var/svn/project1/hooks/pre-revprop-change
# 给予钩子运行权限
chmod a+x /var/svn/project1/hooks/pre-revprop-change
# 编辑pre-revprop-change钩子,将最后一行的 `exit 1` 改为 `exit 0`
vim /var/svn/project1/hooks/pre-revprop-change

初始化镜像库

svnsync init file:///var/svn/project1/ http://192.168.16.10/svn/project1

这里需要输入用户名和密码:

认证领域: http://192.168.16.10 Subversion Repositories
“riguz”的密码:
认证领域: http://192.168.16.10 Subversion Repositories
用户名: riguz
“riguz”的密码:xxxx
复制版本 0 的属性

同步

svnsync sync file:///var/svn/project1

同步的结果可能如下:

已提交版本 1。
复制版本 1 的属性。
传输文件数据………………………………
已提交版本 1