服务器搬迁,蛋疼的事情就很多。
1)在新服务器上创建 代码仓库,创建完成记得在/home/svn/svnrepos/conf/passwd文件中添加你的svn用户名和密码
svnadmin create /home/svn/svnrepos
2)修改新建仓库中hooks 下的 名为 pre-revprop-change 的文件:
cp pre-revprop-change.tmpl pre-revprop-change
chmod 777 pre-revprop-change ( 给pre-revprop-change文件 赋执行权限 )
修改 pre-revprop-change 脚本最后一行 为 exit 0

3)设置同步服务器
svnsync init file:///home/svn/svnrepos svn://xx.xx.xx.xx
svnsync init file:// 新机器仓库目录路径 源服务器的IP(可以通过 http 协议,还可以通过svn协议)
(PS : 这块需要输入密码验证,新服务器的密码 源服务器SVN的账号密码,此账号应该有仓库所有代码的读取权限)
4) 同步
svnsync sync file:///home/svn/svnrepos
5)等待同步完成,启动SVN服务器即可。至此,SVN服务就已经迁移完了。
6)仅供参考:最后将原仓库的 uuid 复制过来,覆盖新服务器上的UUID,这样就可以正常提交,修改代码了。此项我并没有操作,貌似也可以提交。
最后注意一点,账号验证。下面参考
authz文件:添加
[/]
your name=rw
passwd文件
your name = your pass
svnserve.conf
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
##使授权用户有写权限
auth-access=write
##密码数据库的路径
password-db=passwd
##访问控制文件
authz-db=authz
##认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/home/svn/svnrepos
上述方法同步速度会非常慢。如果带宽可以的话,可以考虑下面方法:
#创建目录
mkdir /home/svn/svnrepos
#创建代码库
svnadmin create /home/svn/svnrepos
#启动
svnserve -d -r /home/svn/svnrepos
#导入
svnadmin load /home/svn/svnrepos</home/ciis.dump
#导出
svnadmin dump /home/svn/svnrepos>/home/ciis.dump
本文链接:https://it72.com:4443/12583.htm