需要做的事情

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

最新文章

  1. 赠书:HTML5 Canvas 2d 编程必读的两本经典
  2. Windows Live Writer测试
  3. SQL优化
  4. 转向Web
  5. 使用CSS3画出一个叮当猫
  6. sh.status()
  7. 战胜C语言中令人头疼的问题
  8. [转]Reed Solomon纠删码
  9. 回某位朋友问题备受phpcgi.exe煎熬现在cpu跑满(解决方案)
  10. 转:PHP 使用ZipArchive压缩文件并下载
  11. R语言数据合并使用merge数据追加使用rbind和cbind
  12. css 小知识
  13. 编码中的setCharacterEncoding 理解<转自-fancychendong>
  14. springboot情操陶冶-web配置(七)
  15. Promise (2) 原型上的方法
  16. JavaSE| 面向对象的三大特征
  17. MT【82】凸函数
  18. 【java】深入了解JAVA可变长度的参数
  19. PCIe简介及引脚定义
  20. C# webbrowser实现百度知道团队邀请助手!

热门文章

  1. 2017北京国庆刷题Day1 morning T2
  2. Activity启动模式(GIF 动态演示)
  3. Centos7 时间不正确修复
  4. [Luogu 2678] noip15 子串
  5. 357 Count Numbers with Unique Digits 计算各个位数不同的数字个数
  6. 深入Mysql字符集设置
  7. mysql数据库存储的引擎和数据类型
  8. Spring AOP(aspect oriented programming) 转载
  9. JS——tab切换
  10. JS——大小写转化