为确保svn log的必要格式:
pre-commit.cmd
@echo off :: :: Stops commits that have empty log messages. :: @echo off setlocal rem Subversion sends through the path to the repository and transaction id set REPOS=%1 set TXN=%2 rem check for an empty log message svnlook log %REPOS% -t %TXN% | findstr "...................." > nul if %errorlevel% gtr 0 (goto err) else exit 0 :err echo. >&2 echo 抱歉,由于您没有正确填写Log或者Log字数过少(必须大于20),系统拒绝提交! >&2 echo Log格式: 1>&2 echo 新规: 1>&2 echo [add by cyn at 20160118 #redmine_id:redmine标题] 1>&2 echo 对策内容:xxxx 1>&2 echo. 1>&2 echo 修正: 1>&2 echo [mod by cyn at 20160118 #redmine_id:redmine标题] 1>&2 echo 现象:xxxx 1>&2 echo 修改原因:xxxx 1>&2 echo 对策内容:xxxx 1>&2 echo. 1>&2 echo 删除: 1>&2 echo [del by cyn at 20160118 #redmine_id:redmine标题] 1>&2 echo 修改原因:xxxx 1>&2 echo 对策内容:xxxx 1>&2 echo 请详细描述提交内容,然后再提交. -- 谢谢! 1>&2 exit 1
允许修改svn log:
pre-revprop-change.cmd
SET REPOS="%1" SET REV="%2" SET USER="%3" SET PROPNAME="%4" SET ACTION="%5" IF %ACTION% == "M" (IF %PROPNAME% == "svn:log" (EXIT 0)) ECHO "Changing revision properties %PROPNAME% is prohibited" >&2 EXIT 1