• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

SVN实现详解与TortoiseSVN修改日志和强制写日志

服务器 开心洋葱 3234次浏览 0个评论

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 “根据自己实际的安装路径,找svnsvnlook.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文件,文件内容如下: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@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设置如下:

SVN实现详解与TortoiseSVN修改日志和强制写日志

2、通过TortoiseSVN设置,步奏如下(转):

1).在SVN所在的文件夹即项目(网络上是全体的,本地是只针对自己),右键TortoiseSVN,选择Properties(属性)

SVN实现详解与TortoiseSVN修改日志和强制写日志
2).在弹出的界面中,选择new…(新建…),然后选择Other
3).在弹出的界面中,Property name项选择tsvn:logtemplate,然后在Property Value中填入模板
【提交类型】:BUG/新功能/需求修改/版本制作/代码整理/解决编译不过/阶段性递交/追加递交
【问题描述】:该单的描述,从devtrack中复制过来或从功能性对本次修改的描述
【程序描述】:无(原因分析或者是对修改的技术性描述)
【修改内容】:
1.修改的内容1
2.修改的内容2
【相关单号】:无
【需要测试】:是/否
4).确定,修改完重启SVN服务。


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明SVN实现详解与TortoiseSVN修改日志和强制写日志
喜欢 (0)

您必须 登录 才能发表评论!

加载中……