windows下svn强制写日志hook脚本增强版(空格过滤)

原创 2011年12月20日 11:25:13

       在软件开发中使用SVN进行源代码管理已非常普及,缺省情况下,SVN的每次commit是不需要日志log信息,为了便于管理,项目组通常会要求增加填写log习惯,可通过配置SVN的hook实现功能管理,通常的Windows下的强制log的hook脚本如下:

 @echo off  
 setlocal  
 set REPOS=%1  
 set TXN=%2           
 rem 保证输入8个字符
 svnlook log %REPOS% -t %TXN% | findstr "........" > nul
 if %errorlevel% gtr 0 goto :err_action

 goto :success
 :err_action
 echo 你本次版本提交未填写任何变更的日志说明信息.      >&2
 echo 请补充日志说明信息后再提交代码,例如:功能说明等.  >&2
 echo 输入的日志信息不少于8个字符说明(或4个汉字),谢谢! >&2

 goto :err_exit
 
 :err_exit
 exit 1
 
 :success
 exit 0


上述脚本虽然可以控制log信息输入,但其缺陷是:如果输入空格数据,如连续8个空格,这个脚本是不能过滤的,这样的结果还是log信息为空。上述增强型过滤空格数据脚本如下:

 @echo off  
 setlocal  

 set REPOS=%1  
 set TXN=%2           

rem 保证输入8个字符
 svnlook log %REPOS% -t %TXN% | findstr "........" > nul
 if %errorlevel% gtr 0 goto :err_action

rem 过滤空格字符
svnlook log %REPOS% -t %TXN% | findstr /ic:"        " > nul
 if %errorlevel% gtr 0 goto :success
 
 :err_action
 echo 你本次版本提交未填写任何变更的日志说明信息.      >&2
 echo 请补充日志说明信息后再提交代码,例如:功能说明等.  >&2
 echo 输入的日志信息不少于8个字符说明(或4个汉字),谢谢! >&2
 echo *******************禁止空格数据***************** >&2

 goto :err_exit

  :err_exit
 exit 1
 
 :success
 exit 0


此增强型脚本在笔者的项目组中应用,功能正常,实现了空格过滤功能,请感兴趣的参考。











相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

关于SVN Hooks(钩子)的使用

tags:svn,hooks,svn钩子,Tortoisesvn钩子   由于工作需要,在svn中经常需要使用到svn hooks,把一些常用的记录在这里。   1.什么是svn hooks?...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

svn强制写日志和可以修改历史日志(svn钩子的应用)

1。强制写日志 在每次提交的时候写明提交的目的是一个很好的习惯,Subversion默认没有提供,但是可以通过钩子实现:将下面的代码存为放到版本库的hooks目录下即可,当你不写日...

【SVN】SVN设置日志提交限制和日志模板设置(windows下)

1、SVN设置日志提交限制      服务器中安装的VisualSVN Server ,在新增Repositoreis时,每个Repositoreis(即新建的项目)下都会有一个hooks(钩子程序...

在Windows下配置svn服务端钩子程序(部分)

windows下svn服务端hooks钩子程序的配置
  • ght521
  • ght521
  • 2016年08月29日 19:40
  • 2336

TortoiseSVN 提交时 hook 的 post-commit.bat 不执行的解决方法

TortoiseSVN 提交到 VisualSVN Server 时 hook 的 post-commit.bat 不执行的解决方法: 这是因为 bat 文件执行需要权限,而 VisualSVN S...

windows bat脚本编写

Windows .bat 脚本简单用法介绍: 一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。 ...
  • junmuzi
  • junmuzi
  • 2013年10月02日 19:19
  • 109369

如何让Window批处理文件可以支持带有空格的路径

平常工作中总是要运行一些SQL脚本,但是每次打开SQL Server Management Studio很麻烦,每次输SLQCMD命令也很麻烦,这种情况下如果能用一个批处理文件来自动执行就很方便了,见...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:windows下svn强制写日志hook脚本增强版(空格过滤)
举报原因:
原因补充:

(最多只允许输入30个字)