Subversion 提交后的钩子不会在提交时运行,脚本有效,因为我可以在命令行上运行它



我刚刚创建了一个新的存储库。我的服务器是 Ubuntu 12.04 32 位。我希望我的提交在提交后立即生效。这是通过在我的公共 html 目录中制作一个工作副本,并让提交后的钩子更新该工作副本来实现的。我已经使用此处的说明进行了设置:

http://www.frenssen.be/content/using-subversion-automatically-update-live-website

问题是当我的项目提交时,我的提交后将无法运行。我的项目提交得很好。我知道该脚本也是一个有效的脚本,因为我可以使用

env ./post-commit

hooks目录中,它会正确更新。

我认为这可能是权限问题,所以我广泛使用了chown来确保www-data是以下各项的所有者:

the repo /home/svn/repo2
the working copy /var/www/html
the hook /home/svn/repo2/hooks/post-commit
the update binary /home/svn/autoupdate/autoupdate

但仍然一无所获。我的提交成功,但钩子永远不会运行。我的钩子脚本看起来像这样:

#!/bin/sh
/home/svn/autoupdate/autoupdate

所有的谷歌搜索似乎都指向权限问题,但我无法弄清楚这个问题。

你能重复这个人的例子,看看它是否有效吗?
mikewest.org/2006/06/subversion-post-commit-hooks-101

提交时是否收到错误?

如果您的提交后钩子实际上失败了,我想您会在用于执行签入的任何客户端中看到这方面的证据。我几乎怀疑提交后根本没有触发。只是为了仔细检查,该文件实际上需要称为 post-commit,全部小写,而不是 post-commit.tmpl。

最新更新