由于上一个服务器快要到期了,需要将之前的svn版本库迁移到新的服务器器中,记录下艰辛的迁移过程。
一、dump/load方式
1.dump出要迁移的版本库
svnadmin dump repos > repos.bak
2.在新服务器上建立仓库
svnadmin create /var/svn/repos
3.将dump文件load到新的仓库
svnadmin load /var/svn/repos < repos.bak
二、svnsync指令迁移
1.创建新的svn版本库
svnadmin create /var/svn/project
2.修改新版本库中hooks下的pre-revprop-change文件
cp pre-revprop-change.tmpl pre-revprop-change
3.修改pre-revprop-change文件权限
chmod 777 pre-revprop-change
4.修改pre-revprop-change文件内容
# 修改最后一行内容为 exit 0
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
echo "Changing revision properties other than svn:log is prohibited" >&2
exit 0
5.初始化并指定源地址
svnsync init file:////var/svn/project svn://ip/svn/test
1)svnsync init file:// 新机器仓库目录路径 源服务器的IP(可以通过 http 协议,还可以通过svn协议)
2)ip为自定义端口时需要查看双方服务器的相应端口是否开放
6.同步
svnsync sync file:////var/svn/project
网友评论