设置VisualSVN在提交修改时必须输入一定数量的备注信息
来源:互联网 发布:machinarium for mac 编辑:程序博客网 时间:2024/05/18 05:04
我发现在使用SVN中,提交时,很多人不习惯填写备注信息,虽然在培训中、平时使用时多次提醒备注信息的好处,但是效果不大,每次提交时还是不写,或者随便写两字。
所以很有必要通过系统设置强制填写足够数量的备注信息。
在VisualSVN中提供了这种功能,可以在提交之前执行一个脚本,如果提交的信息不符合要求(比如备注信息不够长),就返给客户端一个错误,提交不成功。
在VisualSVN管理器中右键点击一个项目,弹出菜单,在”所有任务”中,可以看到“Manage Hooks...”菜单,如下:
点击之后弹出下面这个对话框:
在commit这一栏中,有三种不同的hook供选择,分别为:
Start commit hook:这个在发送本地内容到服务器之前就执行,一般用于权限检查,因为传给脚本的内容只有两个,分别是库路径和用户名,没有备注信息。
Pre-commit hook:这个在发送本地内容到服务器之后,真正提交之前执行,一般用于检查备注信息,传给这个脚本的信息也有两个,分别为库路径和备注信息。
Post-commit hook:这个是完全提交完成之后,执行的脚本,传给这个脚本的信息有两个,分别为库路径和当前的版本号。
我们需要设置的显然是Pre-commit hook脚本,因为之后这个脚本能够接收到备注信息,从而判断备注信息是否满足要求。
双击Pre-commit hook这一项之后,弹出一个对话框,输入脚本信息,如下:
我这里采用的是一个perl脚本进行验证custom-pre-commit.pl,内容如下:
#!/usr/bin/perl# config section$svnlook = '"G:\Program Files\VisualSVN Server\bin\svnlook.exe"';#--------------------------------------------$repos = $ARGV[0];$txn = $ARGV[1];$comment = `$svnlook log -t "$txn" "$repos"`;#destimarve说上面这个命令有问题,需要是使用下面这种才能获取到comment,个人自己试试吧,哪种可行就用哪种,本人试了一下两种都可行。#$comment = `$svnlook log "$repos" -t "$txn"`;chomp($comment);if ( length($comment) < 10 ){ print STDERR "提交的备注信息长度必须大于10个字节,请详细填写备注信息。"; exit(1);}exit(0);
我这里custom-pre-commit.pl脚本放在G:\SVNRepositories下,由perl调用。
这个脚本的意思是如果备注信息长度小于10,就打印一个错误信息,同时退出码为1。
VisualSVN如果接收到退出代码不等于0,就终止提交,同时将错误输出显示给客户端。
总结:
1,只能在Pre-commit hook中设置脚本,我原来想如果能在start commit hook设置就好了,后来发现start commit hook根本没有传递备注信息进来,所以就没办法了。在Pre-commit hook中设置的缺点是需要等到所有数据都上传到服务器上之后,才进行检查,如果你提交的数据量很大,传了半天终于传完了,结果告诉你备注不合格,你是不是有点抓狂呢?
2,只能针对项目库进行设置,不能针对目录设置。
下载Perl
http://m.blog.csdn.net/blog/dragonnewborn2012/12014373
在相应仓库目录下的hooks目录里,直接编辑pre-commit.bat,也行
@echo offsetlocalset SVN_BINDIR="C:\Program Files\VisualSVN Server"set SVNLOOK="C:\Program Files\VisualSVN Server\bin\svnlook.exe"set REPOS=%1set TXN=%2rem check that logmessage contains at least 10 characters%SVNLOOK% log %REPOS% -t %TXN% | findstr ".........." >nulif %errorlevel% gtr 0 goto errexit 0:errecho "提交文件时必须添加注释,不能少于10个字符,提交中止." 1>&2exit 1
- 设置VisualSVN在提交修改时必须输入一定数量的备注信息
- 设置VisualSVN在提交修改时必须输入一定数量的备注信息
- 设置VisualSVN Server提交前必须写信息(备注)
- VisualSVN设置提交时必须输入log信息
- VisualSVN设置提交时必须输入log信息
- VisualSVN设置提交时必须输入log信息
- SVN仓库设置用户提交时,必须输入修改备注
- VisualSVN Server提交前必须写信息(备注)
- VisualSVN Server提交前必须写信息(备注)
- SVN提交(commit)时必须填写备注信息设置
- VisualSVN设置空修改日志不可提交
- Svn修改自己已经提交的备注
- VisualSVN Server如何设置commit的时候,必须填写log
- VisualSVN Server提交前必须写日志和修改以往日志出错解决办法
- VisualSVN 配置提交svn时强制输入日志
- PPT2010设置:让备注信息只在演讲者显示器显示
- 分享Visual SVN Hook Script—— 提交时必须输入log信息
- VisualSVN 设置日志可修改,设置必有交日志才能提交代码
- iOS程序员常逛得网址
- 地图的实际extent
- 自己实现的集合框架
- java 基础 ->多态
- ScheduleExecutorService用法
- 设置VisualSVN在提交修改时必须输入一定数量的备注信息
- 掐指一算,你命里缺钱
- 【1-2】Linux配置JDK环境的方式
- MSSQL查询某个表在哪些存储过程中使用过
- 魅族云同步的实践-协议和架构
- 后缀数组的应用——重复子串
- English Learn
- 在linux系统下运行c语言程序
- iOS 设置公共区块