我試圖做一個後提交更新我的網站在每次提交。在/掛鉤/後提交顛覆後提交不叫
我一樣遵循
/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呢? –