原文地址:http://blog.sina.com.cn/s/blog_71a395ea0102w782.html
SVN提交强制写日志设置:
强制设定commit时写一定长度的日志的两种方法:
1.在客户端配置
使用客户端工具:TortoiseSVN
在工作副本目录上,鼠标右键,TSVN,选属性,点增加
再出现的下拉条中选tsvn:logminsize
然后设定必须输入的字节数就可以
2.在服务器端配置
在库的hooks目录下编写脚本(其实就是批处理文件)文件:pre-commit.bat
内容为:
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 20 characters
"D:\Program Files\VisualSVN Server\bin/svnlook" log "%REPOS%" -t "%TXN%" | findstr "...................." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo 提交必须写20个字以上的日志!>&2
exit 1
想修改限制长度只需要增加或减少".............................."中点的数量。
总结:两种方法都可以,推荐用第二种方法,这才能起到强制的作用。第一种办法谁都可以改,强制不了,只能靠自觉。
注意:" D:\Program Files\VisualSVN Server\bin/svnlook "根据自己实际的安装路径,找svn的svnlook.exe文件的位置,使用绝对路径。
修改完重启SVN服务
2、允许修改历史日志的方法
默认是不允许修改的。
在版本库的hooks目录下加入一个批处理文件:pre-revprop-change.bat
@ECHO OFFset repos=%1
set rev=%2
set user=%3
set propname=%4
set action=%5
for /f "usebackq" %%k in ('svnlook author %repos% -r %rev%') do @set var=%%k
set rightUser=0
if "%3" == "%superUser%" set rightUser=1
if "%3" == "%var%" set rightUser=1
if %rightUser% == 0 goto ERROR_USER
goto :SUCCESS_EXIT
:ERROR_USER
echo 只允许用户修改自己的日志 >&2
goto ERROR_EXIT
:ERROR_EXIT
exit 1
:SUCCESS_EXIT
exit 0
然后用TortoiseSVN->显示日志->选择待修改日志->右键:编辑日志信息。
但存在一个问题:强制设定commit时写一定长度的日志功能失去。
修改完重启SVN服务即可。
日志模板设置(windows下)
1、日志提交限制
服务器中安装的VisualSVN Server ,在新增Repositoreis时,每个Repositoreis(即新建的项目)下都会有一个hooks(钩子程序)在hooks目录下有一些tmpl文件,作为不同的hooks操作
新建一个pre-commit.bat文件,文件内容如下:
@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
20
characters
svnlook log
"%REPOS%"
-t
"%TXN%"
| findstr
"....."
> nul
endlocal
if
%errorlevel% gtr
0
goto
err
exit
0
:err
echo 请填写Log!!!日志格式具体如下:
1>&2
echo 【提交类型】:BUG/新功能/需求修改/版本制作/代码整理/解决编译不过/阶段性递交/追加递交
1>&2
echo 【问题描述】:该单的描述,从devtrack中复制过来或从功能性对本次修改的描述
1>&2
echo 【程序描述】:无(原因分析或者是对修改的技术性描述)
1>&2
echo 【修改内容】:
1>&2
echo
1.修改的内容1
1>&2
echo
2.修改的内容1
1>&2
echo 【相关单号】:无
1>&2
echo 【需要测试】:是/否
1>&2
exit
1
2、日志模板设置
Eclipse设置如下:
2、通过TortoiseSVN设置,步奏如下(转):
1).在SVN所在的文件夹即项目(网络上是全体的,本地是只针对自己),右键TortoiseSVN,选择Properties(属性)
2).在弹出的界面中,选择new...(新建...),然后选择Other
3).在弹出的界面中,Property name项选择tsvn:logtemplate,然后在Property Value中填入模板
【提交类型】:BUG/新功能/需求修改/版本制作/代码整理/解决编译不过/阶段性递交/追加递交
【问题描述】:该单的描述,从devtrack中复制过来或从功能性对本次修改的描述
【程序描述】:无(原因分析或者是对修改的技术性描述)
【修改内容】:
1.修改的内容1
2.修改的内容2
【相关单号】:无
【需要测试】:是/否
4).确定,修改完重启SVN服务。