场景说明
公司项目使用svn管理,但是上库日志未规范,导致日志很随意,故利用svn的钩子功能,规范员工的上库习惯
操作说明
- svn服务器的项目目录找到hook目录,
- 删除pre-commit.tmpl文件
- 新建pre-commit.bat文件,写入下面的代码即可限制上库日志
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains
svnlook log "%REPOS%" -t "%TXN%" | findstr "需求描述" > nul
if %errorlevel% gtr 0 goto err
svnlook log "%REPOS%" -t "%TXN%" | findstr "修改描述" > nul
if %errorlevel% gtr 0 goto err
svnlook log "%REPOS%" -t "%TXN%" | findstr "修改人" > nul
if %errorlevel% gtr 0 goto err
svnlook changed -t "%TXN%" "%REPOS%" | findstr "\.obj$"
if %errorlevel% EQU 0 (goto SuffixError)
svnlook changed -t "%TXN%" "%REPOS%" | findstr "\.ilk$"
if %errorlevel% EQU 0 (goto SuffixError)
svnlook changed -t "%TXN%" "%REPOS%" | findstr "\.sdf$"
if %errorlevel% EQU 0 (goto SuffixError)
svnlook changed -t "%TXN%" "%REPOS%" | findstr "\.pdb$"
if %errorlevel% EQU 0 (goto SuffixError)
exit 0
:SuffixError
echo invalid file extension. Commit aborted! 1>&2
exit 1
:err
echo 您上库日志格式不正确 1>&2
echo 正确格式 1>&2
echo 【需求描述】 1>&2
echo 【修改描述】 1>&2
echo 【修改人】 1>&2
echo 【审核人】 1>&2
exit 1