我试图使服务器端git pre-receive
挂钩检查php和javascript文件的代码质量。因此,如果预接收钩子没有通过测试,repo服务器将使git push失败。由于服务器没有包含最新提交内容的物理文件,因此我尝试获取文件内容并将其输送到php检测工具。这是成功的。
对于javascript文件,我使用jshint
工具。但是jshint
工具的问题是它不接受文件内容作为参数。
是否有任何方法可以使jshint
接受文件内容而不是文件名?我找到的一个解决方案是编写一个临时文件。但这不是一个理想的解决方案。
如果指定-
而不是filename, Jshint也可以从STDIN读取内容。所以你可以把你的文件内容转发到stdin,你不需要临时文件。
$ jshint -
var a = 2
stdin: line 1, col 10, Missing semicolon.
1 error