使用预接收Git钩子强制执行编码风格

时间:2017-03-05 06:14:34

标签: c git coding-style

我正在与一个小团队合作开发嵌入式Linux项目,我们决定强制执行C编码风格。我们选择了Linux Kernel coding style,并使用内核树checkpatch.pl中提供的脚本来检查我们的补丁。

我们希望在使用预接收挂钩接受服务器上的补丁之前检查编码样式。但是,我们找不到可靠的脚本来完成这项工作,特别是在创建和删除分支时

我们可以通过Git远程钩子解决这个问题吗?具体来说,我们需要使用checkpatch.pl通过提交(或一系列提交)检查所有已修改的文件。

1 个答案:

答案 0 :(得分:0)

您可以在this gist中看到检测到已删除或创建的分支的示例

case "$refname" in
  refs/heads/*)
    branch=$(expr "$refname" : "refs/heads/\(.*\)")
      if [ 0 -ne $(expr "$newrev" : "0*$") ]; then # deleting
      ...
      else #updating
        if [ 0 -ne $(expr "$oldrev" : "0*$") ]; then # pushing a new branch

您应该对其进行调整,以便管理您的编码样式检查。