我正在尝试使用 svnsync 复制使用过的存储库(我这样做是为了确保只要我的存储库的机器正在工作,就可以最佳地使用我的存储库),但它似乎不起作用。
我有两台机器(我更改了名称,但没有更改其他信息)
- INITIAL:使用 Subversion 1.4.5 (r25188) 的自定义 Linux(由 svnadmin 报告)。在这台机器上,我正在尝试在名为 SOURCE 的存储库上进行同步。可以使用 http 协议访问此存储库,并且已创建 svnsync 用户。在
SOURCE/hooks
中,只存在一个可执行文件:pre-revprops-change
. - 最终:带有 Subversion 1.6.6 (r40053) 的 Ubuntu(由 svnadmin 报告)。在这台机器上,我将在一个名为 svn16 的存储库上进行同步。可以使用 http 协议访问此存储库,并且已创建 svnsync 用户。在
svn16/hooks
中,可执行文件是pre-revprop-change
和start-commit
。在这台机器上,dav_svn.conf
包含指令SVNParentPath /var/svn
,使所有存储库都可以在http://FINAL/svn下访问
我通过在浏览器中打开每个存储库 URL 并发出身份验证对话框来确保 URL 和登录名/密码是正确的,这似乎总是有效的。
我正在尝试执行以下命令
svnsync initialize http://FINAL/svn/svn16 http://INITIAL/SOURCE
但它总是最终显示
Authentication realm: <http://FINAL:80> All Subversion Repositories hosted on FINAL
Password for 'ubunut-user':
Authentication realm: <http://FINAL.fr:80> All Subversion Repositories hosted on FINAL
Username: svnsync
Password for 'svnsync':
svnsync: DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent
svnsync: At least one property change failed; repository is unchanged
svnsync: Error setting property 'sync-lock':
Revprop change blocked by pre-revprop-change hook (exit code 255) with no output.
我想某处存在某种配置问题§。但是什么?在哪里?我已经达到了我的极限,网络似乎在这里没有帮助,因为我看到的各种文档都建议让整个宇宙都可以执行钩子是一种有效的解决方案(在我的情况下不是这样)。