• 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 "[^ 	
    ]" | 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

  • 相关阅读:
    (六)软件测试分工
    <C++>FILE和fstream
    <C#>序列化
    <C#>多线程
    <C++>面试
    <C#>面试
    <Linux>Linux系统命令
    <Linux>Linux基础知识
    <CAN>汽车诊断基础知识
    <C++>查询
  • 原文地址:https://www.cnblogs.com/wadeyu/p/8440879.html
Copyright © 2020-2023  润新知