强制注释:Pre-commit hook
@echo off
rem Stops commits that have empty log messages.
setlocal
rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2
rem check for an too short log message
"C:\Program Files\VisualSVN Server\bin\svnlook" log %REPOS% -t %TXN% | findstr "..........." > nul
if %errorlevel% gtr 0 (goto err) else exit 0
:err
echo. 1>&2
echo Your commit has been blocked because you didn't give any log message 1>&2
echo Please write a log message describing the purpose of your changes and 1>&2
echo then try committing again. -- Thank you 1>&2
exit 1
允许修改注释:Pre-revision property change hook
@ECHO OFF
REM Set all parameters. Even though most are not used, in case youwant to add
REM changes that allow, for example, editing of the author oraddition of log messages.
set repository=%1
set revision=%2
set userName=%3
set propertyName=%4
set action=%5
REM Only allow the log message to be changed, but not author, etc.
if /I not "%propertyName%" == "svn:log" gotoERROR_PROPNAME
REM Only allow modification of a log message, not addition or deletion.
if /I not "%action%" == "M" goto ERROR_ACTION
REM Make sure that the new svn:log message is not empty.
set bIsEmpty=true
for /f "tokens=*" %%g in ('find /V ""') do (
set bIsEmpty=false
)
if "%bIsEmpty%" == "true" goto ERROR_EMPTY
goto :eof
:ERROR_EMPTY
echo Empty svn:log messages are not allowed. >&2
goto ERROR_EXIT
:ERROR_PROPNAME
echo Only changes to svn:log messages are allowed. >&2
goto ERROR_EXIT
:ERROR_ACTION
echo Only modifications to svn:log revision properties are allowed.>&2
goto ERROR_EXIT
:ERROR_EXIT
exit /b 1