SVN提交(commit)时必须填写备注信息设置和取消设置的方法。
一、设置备注信息必须填写
1、打开版本库服务器上SVN的服务器端
2、右键点击项目,选择所有任务,选择manage hooks
3、点击选中Hooks选项卡,选中Pre-commit hook
4、点击下方的edit按钮
5、在弹出框中输入以下代码:
@echo off
setlocal
set SVN_BINDIR=C:/Program Files/VisualSVN Server/bin
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
endlocal
if %errorlevel% gtr 0 goto err
exit 0
:err
echo please input log message ,at least 10 characters(请认真填写注释信息,至少5个汉字). Commit aborted! 1>&2
exit 1
6、点击窗口下方的ok按钮,再点击父窗口的确定按钮即完成了设置。
二、取消备注信息必须填写设置
1、按照上文中1到4的步骤打开编辑窗口,把其中的代码删除
2、点击窗口下方的ok按钮,再点击父窗口的确定按钮即完成设置。
linux 版的设置
#!/bin/sh
REPOS="$1"
TXN="$2"
# 确保提交的时候必须填写提交备注
SVNLOOK=/usr/bin/svnlook
LOGMSG=`$SVNLOOK log -t $TXN $REPOS | wc -m`
# 这里为什么是48呢,一个汉字对应16个字符
if [ "$LOGMSG" -lt 48 ]
then
# 必须填四个汉字
echo "\n至少输入4个汉字" >&2
exit 1
fi
exit 0
在工作仓库中的hooks目录中,svn自带了如下钩子模板,去掉后缀.tmpl文件即可,给以执行权限。
[root@localhost hooks]# pwd
/root/hello/hooks
[root@localhost hooks]# ls
post-commit.tmpl post-revprop-change.tmpl pre-commit.tmpl pre-revprop-change.tmpl start-commit.tmpl
post-lock.tmpl post-unlock.tmpl pre-lock.tmpl pre-unlock.tmpl
只要你懂得shell脚本,发挥你的脑洞,可以实现更多功能。比如说提交之后,把提交信息写入到apache服务器的访问目录中,我们就可以通过浏览器访问到各个开发成员提交的日志信息。
复制一个post-commit.tmpl文件为post-commit
删除最后几行代码,修改成我们自己的shell脚本命令
svn info svn://192.168.8.194/hello --xml >> /var/www/html/repo.xml
增加执行权限
[root@localhost hooks]# chmod +x post-commit
重启svn服务
[root@localhost hooks]# killall svnserve
[root@localhost hooks]# svnserve -d -r /root/
提交一个文件
[root@localhost hello]# svn ci -m "提交如下文件huangbaokang.txt" huangbaokang.txt
正在增加 huangbaokang.txt
传输文件数据.
提交后的版本为 4。
启动apache
service httpd start