svn中hook的使用 一直很少关注 今天在网上看到了这篇文章 而且是很实用的 转来分享
其实更能说明的是批处理的强大 原文地址:http://blog.csdn.net/qiutaox/archive/2008/11/22/3349899.aspx
原文如下:
下面是我在svn1.5 下经过测试的绝对可用的脚本,特把正确的脚本分享给大家,希望能给也需要设置此功能,被一些不正确的脚本搞的头大的朋友一些帮助。
1、svn客户端修改日志功能(且只能修改自己日志) 找到版本库中hooks目录下,将pre-revprop-change.tmpl文件复制为pre-revprop-change.bat文件,然后将pre-revprop-change.bat文件内容改为:
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
|