为确保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