php svn仓库提交预处理
需要做的事情
1.检查是否填写注释
2.php文件是否有语法错误
pre-commit脚本
hook脚本名称:hooks/pre-commit
REPOS="$1"
TXN="$2"
# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
LOGMSGLEN=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[^ \t\n]" | wc -c`
if [ $LOGMSGLEN -lt 5 ];then
echo -e "亲,忘了写注释哦~~~" 1>&2
exit 1
fi
# Check that the author of this commit has the rights to perform
# the commit on the files and directories being modified.
# commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
# 检查php文件语法
phpFiles=`$SVNLOOK changed -t "$TXN" "$REPOS" | grep -e '.php'| awk '{print $2}' | xargs`
retSts=0
for phpFile in $phpFiles;do
ret=`$SVNLOOK cat -t "$TXN" "$REPOS" "$phpFile" | php -l`
if [ $? != 0 ];then
echo "${ret},file:${phpFile}" 1>&2
retSts=1
fi
done
if [[ "$retSts" -eq 1 ]];then
exit 1
fi
# All checks passed, so allow the commit.
exit 0
参考资料
【1】svnlook命令介绍
www.cnblogs.com/wangjiyuan/p/svnnn.html
【2】SVN-钩子祥解与配置
http://www.cnblogs.com/gaohj/p/3154448.html
作者:WadeYu
出处:http://www.cnblogs.com/wadeyu/
本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/wadeyu/
本文版权归本人和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号