Subversion-改变处理钩子的方式

Subversion-改变处理钩子的方式

我的托管服务提供商已启用受信任路径执行 (Grsec),因此我的所有 Subversion 钩子(例如提交后)都停止工作。任何提交操作的尝试都会以警告结束:

提交后钩子失败(退出代码 255),没有输出。

我检查过,可以使用以下语法手动运行脚本:

bash 提交后 [PATH] [REV]

但不是:

./post-commit [路径] [修订]

我认为 Subversion 使用了最后一个,这导致了问题。那么是否可以改变 Subversion 处理钩子的方式?

答案1

钩子的执行方法是硬编码的颠覆如果你想改变它,你必须修补源代码并重新构建它。相关代码可以在subversion/libsvn_repos/repos.{c,h}在源分布中。

顺便说一句,钩子当前是通过其完整路径执行的(如/path/to/your/repo/hooks/post-commit),而不是通过执行cd /path/to/your/repo && ./post-commit

相关内容