svn 要求强制写日志

windows下svn限制强制写日志及只能修改自己日志脚本

下面是我在svn1.5 下经过测试的绝对可用的 脚本,特把正确的脚本分享给大家,希望能给也需要 设置功能,被一些不正确的脚本搞的头大的朋友一些帮助。

1、 svn 客户端修改 日志功能(且只能修改自己日志)
找到 版本库中hooks 目录下,将pre-revprop-change.tmpl 文件复制为pre-revprop-change.bat文件,然后将pre-revprop-change.ba文件内容改为:

set 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

2、到版本库中hooks目录下,将pre- commit.tmpl文件复制为pre-commit.bat文件,然后将pre-commit.bat 文件内容改为:
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 提交必须写日志!>&2
exit 1
 
3.Linux
pre-commit.tmpl,然后更名pre-commit并加上执行权限:
# !/bin/sh

REPOS
= " $1 "
TXN
= " $2 "

RES
= " OK "
#  Make sure that the log message contains some text.
SVNLOOK =/ app / subversion / bin / svnlook
$SVNLOOK   log   - " $TXN "   " $REPOS "   |  egrep  " [^[:space:]]+ "   >/ dev / null  ||  unset RES
if  [  " $RES "   !=   " OK "  ]
then
    echo 
" You must input some comments for you commit "   >& 2
    
exit   1
fi

#  All checks passed, so allow the commit.
exit   0

转载于:https://www.cnblogs.com/jamin/archive/2008/11/15/1334091.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值