我试图做一个后提交更新我的网站在每次提交。在/挂钩/后提交颠覆后提交不叫
我一样遵循
/svnUupdat/cProgrammeThatUpdate >> /log/test.log
现在好了,如果我尝试
env - ./post-commit
它的工作原理,该网站获得更新到最新修订(有是在日志中的东西)
但是,如果我承诺后提交不被称为?? (没有在日志和网站未更新)
需要注意的是,如果我只放在后提交
/bin/echo "post-commit run" >> /log/test.log
如果犯了某些事情...工程..有什么东西在日志..为什么不叫我的C程序呢?
编辑 我尝试别的东西,那不是调用C PROGRAMM
/usr/bin/svn update /var/www/vhost/xx.com/site1/ >> /var/log/svn/example.log
日志我跳过在/ var/WWW在
...
为什么跳过?如果我在终端推出了svn更新它的工作原理,工作目录中获取最后一次修订
感谢
你好,的确,我在我的路径中有一个错字(在提交后)。现在A提交后路径是正确的,日志中没有任何东西......所以这可能是一个特权问题。正在提交的进程是httpd,并且它的所有者是apache我已经做了chown apache.apache post-commit我是否必须执行与我的工作目录相同的操作? – Johny19
由于您计划更新工作目录,因此您肯定需要写入权限。尝试'su - apache'(或任何你的httpd用户)并执行你的post-commit脚本。但是,当您更改http守护程序的权限时,您应该知道您正在执行的操作,因为这可能会影响安全性。你有没有考虑过使用'svn + ssh'来访问你的repo呢? –