试图为git仓库做一个php语法检查钩子。我很高兴当我发现一个代码片段完全做到这一点。git钩子语法检查
但似乎该片段脚本有缺陷。它执行
git diff-index --cached --name-only HEAD
获取索引中的文件列表。现在它为该列表上的每个文件运行php -l。缺陷在于工作副本和暂存区域之间的文件可能有所不同。如果临时区域php有语法错误,但工作副本版本没有,则没有发现语法错误,并且提交成功,这是要防止的。
这是一个不平凡的问题要解决,还是有一些方法可以在每个文件的分期版上运行php -l?
+1为工作钩子。 – VonC 2010-09-16 06:59:12
是的,这比文章中的钩子要好得多。 – zedoo 2010-09-21 19:31:23
挂钩非常好,但它需要略微修改,所以我可以使用它。由于“剪切”命令,我无法获得正确的文件名和扩展名 – cwhsu 2014-09-26 03:31:18