工作中常用到gitlab进行代码的管理。最近有个需求,要在上传之间进行代码的样式检查。
具体的思路流程如下图:
这里使用的cppcheck对c++代码的检查。其他的语言也有相对应的检查工具。旨在对开发人员代码的质量进行一个规范化。
下面是自己写的一个简单脚本,使用gitlab的githook里面pre-receive进行拦截检查。脚本还有许多要改进的地方,后面有时间再更改。
#!/bin/bash
zero_commit="0000000000000000000000000000000000000000"
excludeExisting="--not --all"
RETVAL=0
redome=`date '+%d%H%M%S'`
date_time=`date '+%Y-%m-%d %H:%M:%S'`
project=`pwd|awk -F"/" '{print $NF}'`
#新建一个临时的目录存储临时文件
mkdir -p /tmp/gittmp/${redome}
#记录执行时间和项目名称
echo -e " ${date_time} ${project} \n please solve it in time,resubmit after checking the changes. \n" >> /tmp/gittmp/${redome}/error.log
#遍历提交的文件
while re