CPPLInt 和SVN共同使用

CPPLInt 和SVN共同使用:

使用cpplint 可以方便的进行检测c++代码规范,但怎么和svn进行结合使用呢,下面做简单介绍:

  1. 打开VisualSVN Server Manager,选择要进行配置的库属性,找到到hooks设置,打开pre-commit

  2. 编写脚本:

2.1 设置变量:

    setlocal
    set path =%path%;C:\MinGW\msys\1.0\bin;
    set REPOS=%1
    set TXN=%2
    set SVNLOOK="svnlook.exe"

2.2 检测提交日志是否为空:

    REM 注释检测
    svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." >nul
    if %errorlevel% gtr 0 goto err

2.3 遍历修改的文件,调用cpplint.py

    for /f "usebackq tokens=1,2" %%A in (`"svnlook.exe" changed -t %TXN% %REPOS%`) do ( 
        REM echo %%A >svn.log
        REM echo %%B >svn.log
        svnlook.exe cat -t "%TXN%" "%REPOS%" %%B >svn.log
        svnlook.exe cat -t "%TXN%" "%REPOS%" %%B >tmp\%%B
        "C:\Python27\ArcGIS10.2\python.exe" "I:\co\Learning.test.git\docs\ccplint\cpplint.py"   tmp\%%B 2>error.log
                "C:\Python27\ArcGIS10.2\python.exe" "I:\co\Learning.test.git\docs\ccplint\cpplint.py"   tmp\%%B 1>cpp_check_return.log
                findstr/C:"Total errors found: 0" cpp_check_return.log>nul
                if %errorlevel% equ 0 (
                    echo "finded:"  
                ) else ( 
                    echo "--------------errorLevel:"1>&2 
                    exit 1
                )
        ) 

2.4 判断错误,并退出

        if not %errorlevel% == 0 exit 1 

        exit 0

        :err 
        echo ----------------------------------------------------------------------------------------------------------------------  >&2
        echo 提交的日志必须大于10个字符  >&2
        echo ----------------------------------------------------------------------------------------------------------------------  >&2
        exit 1

reference:

https://segmentfault.com/a/1190000004707915 
https://www.aliyun.com/jiaocheng/487713.html
https://www.cnblogs.com/frydsh/archive/2012/12/27/2835249.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值