我想使用 PHP CodeSniffer 检查提交到我的远程 git 存储库的代码,如果代码标准存在任何问题,则拒绝它。有没有人有如何在 git 远程存储库上使用它的示例,或者示例如何将它与预接收挂钩一起使用?谢谢。
也许这为您指明了正确的方向:(原文来自:http://www.squatlabs.de/versionierung/arbeiten-git-hooks在德国)
#!/usr/bin/php
<?php
$output = array();
$rc = 0;
exec('git rev-parse --verify HEAD 2> /dev/null', $output, $rc);
if ($rc == 0) $against = 'HEAD';
else $against = '4b825dc642cb6eb9a060e54bf8d69288fbee4904';
exec('git diff-index --cached --name-only '. $against, $output);
$needle = '/(\.php|\.module|\.install)$/';
$exit_status = 0;
foreach ($output as $file) {
if (!preg_match($needle, $file)) {
// only check php files
continue;
}
$lint_output = array();
$rc = 0;
exec('php -l '. escapeshellarg($file), $lint_output, $rc);
if ($rc == 0) {
continue;
}
# echo implode("\n", $lint_output), "\n";
$exit_status = 1;
}
exit($exit_status);
您必须编辑 exec 行 exec('php -l... 以指向您的codesniffer 安装。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)