一、svn主从同步op目录时,遇到的问题
命令:/svn/apache2/subversion-1.6.13/subversion/svnsync/svnsync sync
https://10.10.41.18/svn/op --username shenp --password 508956 --trust-server-cert --non-interactive --config-dir /tmp/.subversion
日志:
/data/svn/apache2/logs/error_log
源主机:10.10.41.5 [
root@svn ~]#
目标从机:10.10.41.18 [
root@jdserver ~
]#
1、权限问题
(1)报错:
(windows客户端报错)
post-commit hook failed (exit code 255) with no output
Could not open the requested SVN filesystem
(2)原因:目标目录不能被httpd的启动用户读写,权限问题。
(3)解决:
(a)主机:post-commit权限为755,所属组和所有者都为root。
(b)从机:目标路径/data/svn/op目录必须能被httpd的启动用户apache所读写,
因此,chmod -R apache:apache
/data/svn/op。
(c)从机:/data/svn/hook下的文件只有
pre-revprop-change是执行文件755,其他都是644。
2、库db版本号问题
(1)报错:
(从机日志报错)
[Fri Dec 11 13:59:57 2015] [error] [client 10.10.41.5] (20014)Internal error: Expected FS format between '1' and '4'; found format '6'
[Fri Dec 11 13:59:57 2015] [error] [client 10.10.41.5] Could not fetch resource information. [500, #0]
[Fri Dec 11 13:59:57 2015] [error] [client 10.10.41.5] Could not open the requested SVN filesystem [500, #160043]
[Fri Dec 11 13:59:57 2015] [error] [client 10.10.41.5] Could not open the requested SVN filesystem [500, #160043]

(2)原因:从机的库的db版本号比主机的库版本号高,原则上只能等于低于主机,库db版本号:
/data/svn/op/db/format
(3)解决:将从机
/data/svn/op/db/format版本号改为和主机一致,为4。
注:在库目录下也有一个版本号,此处是库目录下db目录的版本号问题。
3、服务器认证失败,证书不被信任
(1)报错:
(主机命令行报错)
svnsync: OPTIONS of 'https://10.10.41.5/svn/op': Server certificate verification failed: certificate issued for a different hostname, issuer is not trusted (https://10.10.41.5)

(2)原因:从机未存储svn主机同步时使用的用户和密码。
(3)解决:
(a)去掉用户、密码和相关认证参数(
--username shenp --password 508956 --trust-server-cert --non-interactive),重 新在主机端执行一遍同步命令,输入主机密码及同步使用的用户和密码,即可。
(b)主机密码:jidongnet.550
(c)主从同步用户:shenp,密码:
508956
(d)[
root@svn svn]# /svn/apache2/subversion-1.6.13/subversion/svnsync/svnsync sync
https://10.10.41.18/svn/op --config-dir /tmp/.subversion

注:此步骤应在op目录第一次同步时操作。
4、正常显示
无报错
