1

我正在研究通过代理写入的最终配置和复制。我有一台主服务器和两台从服务器。apache 配置正常工作,但我在试图找出需要调用哪些钩子以便复制发生回从属服务器时遇到问题。我可以从主服务器手动执行 svnsync,但我不能让它与钩子一起工作。

在从服务器上,我有一个空的 pre-revprop-change.bat,只需退出 0。在主服务器上,我有一个 pre-lock.bat,它发出一个 svn propdel 命令来释放远程存储库上的锁。我还有一个 start-commit.bat,它有 svnsync init 和 svnsync sync 命令。当我进行提交时,该过程就会超时。

对我所缺少的有什么想法吗?

4

1 回答 1

0

你的设置太复杂了。一旦你设法手动初始化 svnsync 进程,你只需要添加以下行到你的 post-commit 钩子

/usr/bin/svnsync sync --non-interactive --no-auth-cache --source-username=XXX --source-password='XXX' --sync-username=YYY --sync-password='YYY' http://source/svn-proxy-sync/REPO 2>&1 > /dev/null &

不要删除 -r0 属性上的锁定,因为如果您使用上述 post-commit 钩子进行两次提交,第二次提交可能会尝试同步 repo,而第一次提交仍在后台执行。

2>&1 > /dev/null 是必需的,否则svnsync的后台不起作用。

于 2013-08-22T08:11:00.193 回答