惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
博客园_首页
博客园 - 【当耐特】
量子位
S
SegmentFault 最新的问题
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
T
Tailwind CSS Blog
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
Y
Y Combinator Blog
博客园 - 聂微东
The Cloudflare Blog
小众软件
小众软件
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
H
Help Net Security
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享

博客园 - yoyolion

设置vs2005输出目录,提高PDA模拟器程序调试速度 svn1.5.0.13366可用下载地址 svn权限文件的注意事项 MySQL导出和导入SQL脚本 becky邮件客户端163邮箱设置 在Total command中显示Tortoise svn叠置图标的方法 头文件被修改导致一个难以理解、难以调试的错误 使用vs2005创建智能设备的C#和C++混合项目 .NET Compact Framework使用P/Invoke服务 vs2005的可再分发组件的路径 使用Lutz Roeder’s .NET Reflector反编译.NET Compact Framework程序集 NoteExpress PubMed 导入过滤器修正 关于系统U盘和未来5-10年电脑硬件发展的一点想法 GPRS上网打开普通页面的流量 MapInfo2007年用户大会参会记录 使用GPRS的cmwap接入点实现网络通讯1-----建立连接 关于GPRS(cmnet、cmwap)和CDMA 1X的比较及最优方案 判断目录是否存在 解决UNICODE字符集下CStuioFile无法写入中文
只允许修改自己的svn日志的钩子脚本
yoyolion · 2008-02-25 · via 博客园 - yoyolion

包括以下功能:
1、只允许用户修改自己的日志。可以设置超级用户,超级用户可以修改其他人的日志,其他人只能修改自己的日志。

2、只允许对日志进行操作,不允许对其它属性操作。

3、只允许对日志进行修改,不允许增加、删除日志。

脚本如下:

@ECHO OFF

REM 限制日志文件的个数采用修改项目属性的tsvn:logminsize,不在脚本中限制

REM 参数
set repos=%1
set rev=%2
set user=%3
set propname=%4
set action=%5

REM 设置超级用户,超级用户可以修改其他人的日志,其他人只能修改自己的日志
set superUser=ygq

REM 只允许日志svn:log的修改
if /I not '%propname%'=='svn:log' goto ERROR_PROPNAME

REM 只允许修改日志,增加、删除等操作不允许
if /I not '%action%'=='M' goto ERROR_ACTION

REM 只允许用户修改自己的日志
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_PROPNAME
echo 只有日志信息能被修改 >&2
goto ERROR_EXIT

:ERROR_ACTION
echo 只允许修改日志,不允许增加、删除等操作 >&2
goto ERROR_EXIT

:ERROR_EXIT
exit 1

:SUCCESS_EXIT
exit 0

使用:将以上脚本保存为pre-revprop-change.cmd或pre-revprop-change.bat,并放到版本库的hooks文件夹下。