SVN提交(commit)时必须填写备注信息设置及钩子的应用

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文件即可,给以执行权限。

扫描二维码关注公众号,回复: 6060272 查看本文章
[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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/huangbaokang/article/details/89474865