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


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











设置SVN服务器强制填写日志

Linux SVN Server  SVN Server在每个仓库中的hooks里都有个pre-commit.tmpl文件,修改这个文件为pre-commit并添加可执行权限:chmod +x pr...
  • prince_lintb
  • prince_lintb
  • 2014年04月30日 20:29
  • 2774

Linux下SVN提交时强制写日志问题

网上找到的都是这个做法,但是我按着这个步骤改了之后根本不管用,不写注释还是照样能提交: 进入仓库project/hooks目录,找到pre-commit.tmpl文件,重命名为pre-commit。...
  • zhangli865621030
  • zhangli865621030
  • 2016年04月12日 11:04
  • 1083

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

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

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

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

win7 下 VisualSVN Server post-commit 钩子问题

win7 下 VisualSVN Server post-commit 钩子问题 时间 2013-08-06 10:05:50  ITeye-博客 原文  http://vb2005xu.iteye...
  • samxx8
  • samxx8
  • 2015年08月30日 19:09
  • 5211

VisualSVN开发SVN服务端的hook钩子

功能,svn更新注释不能少于10个字符,只有指定的admin用户拥有删除文件或文件夹的权限 @echo off setlocal set Repos=%1 set TXN=%2...
  • ertvbvb
  • ertvbvb
  • 2015年03月03日 15:05
  • 835

SVN Windows 下 利用hook 自动发布到 web服务器

  • 2010年10月13日 15:16
  • 2KB
  • 下载

利用svn钩子hooks/post-commit实现代码自动部署

配置了台svn服务器,用来保存公司项目的代码,同时svn服务器也是一台web服务器。因此希望当我本地代码commit到svn服务器时,能够触发svn服务器的钩子hooks/post-commit将新版...
  • dahuzix
  • dahuzix
  • 2015年10月11日 21:41
  • 9852

SVN强制填写日志

在F:\Repositories\版本库名\hooks下新建pre-commit.bat 内容如下: @echo off setlocal set SVN_BINDIR="C:\Progr...
  • yangwei19680827
  • yangwei19680827
  • 2013年08月26日 12:29
  • 1789

VisualSVN 配置提交svn时强制输入日志

参考网上的其他帖子进行整理的,脚本如下: @echo rem SVN强制写注释的hooks脚本(Windows) rem 文件名是: pre-commit.bat,放到repositor...
  • ComputerHeart
  • ComputerHeart
  • 2016年01月20日 16:07
  • 532
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:windows下svn强制写日志hook脚本增强版(空格过滤)
举报原因:
原因补充:

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