VisualSVN设置提交时必须输入log信息
2015-09-21 11:02
288 查看
在别人的基础上修改的:
自己在Windows上用VisualSVN搭了个服务器,默认提交代码是可以不填任何信息,这可不是我所期望的,于是找到了下面的解决方案:
在VisualSVN的管理控制台中可以设置这些规则,这些规则在特定的时机触发,其中Commit代码之前检查是否填写了log信息,我们可以在pre-commit时进行。
设置方法:
1、打开VisualSVN管理控制台
2、右键你要设置的代码仓库
3、所有任务-》Manage Hooks……
4、编辑“Pre-commit hook"
其实这个编辑对应的是在你的代码仓库目录下的Hook子目录生成了一个.cmd的文件,我们自己修改这个文件就可以了,不需要通过界面修改。
在hook目录有一些模板,但模板用的是linux的命令,把模板的后缀名修改成cmd并不能正确执行,所以我们需要符合Windows的Hook脚本,我测试了两个,一个是纯DOS命令,一个是需要perl,都测试OK,还有一个pytyon的版本我就没有测试了,具体可以参考我最后列出来的参考文档。
1、纯Windows DOS命令
只需要一个文件就可以:pre-commit.cmd
@echo off
::
:: Stops commits that have empty log messages.
::
@echo off
set svnlook="D:/Program Files/VisualSVN Server/bin/svnlook.exe"
setlocal
rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2
rem check for an empty log message
%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
自己在Windows上用VisualSVN搭了个服务器,默认提交代码是可以不填任何信息,这可不是我所期望的,于是找到了下面的解决方案:
在VisualSVN的管理控制台中可以设置这些规则,这些规则在特定的时机触发,其中Commit代码之前检查是否填写了log信息,我们可以在pre-commit时进行。
设置方法:
1、打开VisualSVN管理控制台
2、右键你要设置的代码仓库
3、所有任务-》Manage Hooks……
4、编辑“Pre-commit hook"
其实这个编辑对应的是在你的代码仓库目录下的Hook子目录生成了一个.cmd的文件,我们自己修改这个文件就可以了,不需要通过界面修改。
在hook目录有一些模板,但模板用的是linux的命令,把模板的后缀名修改成cmd并不能正确执行,所以我们需要符合Windows的Hook脚本,我测试了两个,一个是纯DOS命令,一个是需要perl,都测试OK,还有一个pytyon的版本我就没有测试了,具体可以参考我最后列出来的参考文档。
1、纯Windows DOS命令
只需要一个文件就可以:pre-commit.cmd
@echo off
::
:: Stops commits that have empty log messages.
::
@echo off
set svnlook="D:/Program Files/VisualSVN Server/bin/svnlook.exe"
setlocal
rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2
rem check for an empty log message
%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
相关文章推荐
- Python计算机视觉编程练习2:import 自定义模块
- Turtlebot 学习记录for ros
- ksh 简介
- stm32的总线AMBA、AHB、APB
- JAVA语言DES算法
- OAuth 2.0系列教程(九) 契约请求和响应
- d3搭建Apache服务器
- 程序员修炼之道---从小工到专家(第5章)
- 设计模式学习笔记-模板方法模式
- 【MDCC技术大咖秀】Android内存优化之OOM
- ExtJS-xtype
- 数据分析的几种经典的理论
- (一) Ionic 环境搭建
- 基于PHP+Ajax实现表单验证的详解
- mongodb系列-conf配置文件
- OAuth 2.0系列教程(八) 授权码授权
- 【JAVA】---String 类
- RegExp里的match与exec
- Java学习之路:不走弯路,就是捷径
- UIPageViewController