SVN服务器搭建和使用(四)Svn 设置 修改 日志
来源:互联网 发布:淘宝网怎么盈利 编辑:程序博客网 时间:2024/06/08 15:30
因为是转载文章 在此标明出处,以前有文章是转的没标明的请谅解,因为有些已经无法找到出处,或者与其它原因。
如有冒犯请联系本人,或删除,或标明出处。
因为好的文章,以前只想收藏,但连接有时候会失效,所以现在碰到好的直接转到自己这里。
原文 出处 http://hi.baidu.com/kongcheng2012/item/f0f544a9a1a3ddd75af191ca
1、强制写日志
在每次提交的时候写明提交的目的是一个很好的习惯,Subversion默认没有提供,但是可以通过钩子实现:将下面的代码存为放到版本库的hooks目录下即可,当你不写日志提交的话就会报告错误。
文件名:pre-commit-log.bat
@
echo
off
setlocal
set
REPOS=%1
set
TXN=%2
rem check that logmessage contains at least 5 characters
svnlook log
"%REPOS%"
-t
"%TXN%"
| findstr
".........."
> nul
if
%errorlevel% gtr 0 goto err
exit
0
:err
echo
Empty log message not allowed. Commit aborted! 1>&2
exit
1
2、可以修改历史日志
历史上的日志写的不好,我们希望修改,默认对Subversion是不允许的,并且会提示需要创建pre-revprop-change钩子。最简单的方式是创建一个空白的pre-revprop-change.bat文件放到版本库的hooks目录下,但是这种方式不够严格,用户具备了修改所有属性的权利,例如修改作者的权利(可以提交垃圾然后栽赃嫁祸了)。所以要限制用户只能修改日志,所以有了下面的代码,将其存为pre-revprop-change.bat放到版本库的hooks目录下即可。
文件名:pre-revprop-change.bat
REM SVN pre-revprop-change hook allows edit of logmessages from TSVN
setlocal
set
REPOS=%1
set
REV=%2
set
USER=%3
set
PROPNAME=%4
set
ACTION=%5
if
not
"%ACTION%"
==
"M"
goto refuse
if
not
"%PROPNAME%"
==
"svn:log"
goto refuse
goto OK
:refuse
echo
Cann't
set
%PROPNAME%/%ACTION%, only svn:log is allowed 1>&2
endlocal
exit
1
:OK
endlocal
exit
0
3、只允许用户修改自己的svn日志的钩子脚本
hooks目录下就存在一些钩子脚本的模板,用户可以作为参考。把pre-revprop-change.tmpl复制为pre-revprop-change.bat,再修改里面的脚本,钩子就设置好了。(实现每人可以修改自己的log日志,而管理员可以任意修改。):
for
/f
"usebackq"
%%k
in
(`svnlook author %1 -r%2`)
do
@
set
var=%%k
if
"%3"
==
"%var%"
goto
test
if
"%3"
==
"li"
goto
test
exit
1
:
test
if
"%4"
==
"svn:log"
exit
0
echo
Property
'%4'
cannot be changed >&2
exit
1
- SVN服务器搭建和使用(四)Svn 设置 修改 日志
- SVN服务器搭建和使用(四)
- SVN服务器搭建和使用(四)
- SVN服务器搭建和使用(四)
- svn服务器搭建和使用(四)
- 修改svn日志信息(svn使用linux服务器)
- 设置SVN服务器允许修改日志
- svn 服务器搭建(四)
- SVN—SVN服务器搭建和使用
- SVN服务器搭建和使用(三)
- SVN服务器搭建和使用(二)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(二)
- SVN服务器搭建和使用(三)
- SVN服务器搭建和使用(一)
- SVN服务器搭建和使用(二)
- SVN服务器搭建和使用(三)
- 在C#中利用SQL语句与数据库进行操作
- VS2010 编译安装Boost库
- 备忘录模式(Memento)
- 使用批处理脚本(BAT)调用FFMPEG批量编码视频
- 使用新浪微博分享图片文字(实战)
- SVN服务器搭建和使用(四)Svn 设置 修改 日志
- Jquery 实现 “下次自动登录” 记住用户名密码功能
- 2013年9月25日星期三(demo5_2点法式平面)
- EclipseRCP开发3-建立自定义菜单
- javascript面向对象(this)
- Nyoj 790 The More,the Better[基础并查集]
- ImagePreviewd.js 选择图片预览遇到的问题
- ios设计模式读书笔记----Abstract Factory(抽象工厂)
- ios 画图总结