- 帖子
- 3
- 积分
- 15
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2013-12-26
|
我在windows平台使用svn进行版本控制,为了防止提交代码的时候不写日志,想在svn hook里加上强制提交日志的功能,其实就是svn在提交代码前会去执行一段批处理文件去检查日志字符串的长度,如果小于10个字符,就绝交提交并提示。 批处理代码如下:
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
"D:\Program Files\VisualSVN Server\bin/svnlook" log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo 提交必须写10个字以上的日志!>&2
exit 1
发现即使是少于10个字符也能提交成功,后来发现是 findstr ".........." 的事,即使少于2个字符 findstr 查找仍然是成功的 errorleve 还是等于0。
"D:\Program Files\VisualSVN Server\bin/svnlook" log "%REPOS%" -t "%TXN%" 返回的是日志文件里的字符串,然后传给findstr。
请各位高手帮我看看是怎么回事? 这样才能实现我想要的功能。 |
|