用Hook Script阻止空日志信息提交到Subversion
这个其实在TortoiseSVN的帮助文档里有说明,从服务端配置SVN仓库达到阻止空日志信息的提交。
在每一个SVN仓库里都有一些默认的hook script模板,其中pre-commit.tmpl是提交前验证的,用这个来实现我们的目的。
由于是在WINDOWS下创建的svn server,所以我们用DOS命令来实现它:
Code
REM pre commit script
@ECHO OFF
SETLOCAL
SET "REPOS=%~1"
SET "TXN=%~2"
SET "SVNLOOK=G:\scm\svn\bin\svnlook.exe"
for /f "tokens=*" %%i in ('%SVNLOOK% log -t "%TXN%" "%REPOS%"') do set "LOGMSG=%%i"
if not "%LOGMSG%"=="" exit 0
ECHO 您没有输入日志信息! 1>&2
ECHO 请输入一条有用的消息,表示您对代码作了哪些更改。 1>&2
ECHO 日志是跟踪版本的重要信息,您必须输入它,谢谢合作。:) 1>&2
EXIT 500
REM pre commit script
@ECHO OFF
SETLOCAL
SET "REPOS=%~1"
SET "TXN=%~2"
SET "SVNLOOK=G:\scm\svn\bin\svnlook.exe"
for /f "tokens=*" %%i in ('%SVNLOOK% log -t "%TXN%" "%REPOS%"') do set "LOGMSG=%%i"
if not "%LOGMSG%"=="" exit 0
ECHO 您没有输入日志信息! 1>&2
ECHO 请输入一条有用的消息,表示您对代码作了哪些更改。 1>&2
ECHO 日志是跟踪版本的重要信息,您必须输入它,谢谢合作。:) 1>&2
EXIT 500
将这个文件保存为pre-commit.bat,放在仓库的hooks目录下即可。
Enjoy it!