没有调用Subversion post-commit

时间:2011-12-06 02:22:42

标签: svn post-commit

我尝试在每次提交时进行提交后更新我的网站。在/ hooks / post-commit

我做了如下

/svnUupdat/cProgrammeThatUpdate >> /log/test.log

好的,如果我试试

env - ./post-commit

它可以工作,网站得到更新到最后一个版本(并且日志中有一些东西)

但如果我提交后提交不被调用?? (日志中没有任何内容,网站未更新)

请注意,如果我只提交后提交

/bin/echo "post-commit run" >> /log/test.log

如果提交某些内容......它有效..日志中有一些内容..为什么不调用我的c程序呢?

修改 我尝试了其他的东西,而不是调用c程序

/usr/bin/svn update /var/www/vhost/xx.com/site1/ >> /var/log/svn/example.log

在日志中我有Skipped / var / www ...

为什么会跳过?如果我在终端中启动svn更新,它将工作目录获取最后一次修订

感谢

2 个答案:

答案 0 :(得分:2)

注意当SVN调用钩子文件时,它就像没有设置环境变量一样。因此,您必须在挂钩文件的开头手动设置PATH变量。

答案 1 :(得分:1)

'skipped'消息表明Subversion无法更新目录,因为它不是工作副本。但是,这与您可以手动更新目录的声明冲突。也许你的路上某处有拼写错误?

您还应该知道提交后脚本是作为提交的用户执行的。这可能与您使用终端时的用户相同,也可能不同。您应该检查提交用户是否具有执行提交后脚本的适当权限,以及该用户是否有权执行您的脚本所做的任何操作。