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
exit0
相关推荐
在Windows环境下,通常使用`.bat`批处理文件作为`pre-revprop-change`的实现。此脚本的目的是增强版本库的安全性和管理性,防止未经授权的或不恰当的属性更改。 在这个特定的`pre-revprop-change.bat`脚本中,我们...
- **步骤一:** 在SVN仓库的`hooks`目录下,找到`pre-revprop-change.tmpl`文件,并将其复制为`pre-revprop-change.bat`。 - **步骤二:** 编辑`pre-revprop-change.bat`文件,内容如下所示: ```bat set repos...
在`pre-revprop-change.bat`文件中,我们可以编写批处理命令或调用其他程序来实现特定的行为。例如,我们可以设定只有特定用户或具备特定权限的用户才能修改日志,或者在修改日志前进行邮件通知等。这个脚本通常位于...
在svn的版本库hooks目录下,有一个名为`pre-commit.tmpl`的模板文件,我们需要复制它并重命名为`pre-commit.bat`。这个脚本会在用户尝试提交变更前运行。通过修改`pre-commit.bat`,我们可以添加检查提交日志内容...
首先,需要将此模板文件复制并重命名为`pre-revprop-change.bat`(对于Windows环境)或`pre-revprop-change`(对于Linux环境)。这一步是启动自定义钩子的必要步骤。 2. **编写钩子逻辑**:接下来,需要编辑这个...
在提供的文件`pre-revprop-change.bat`中,我们可以看到一个Windows环境下的SVN服务器钩子脚本,这个脚本通常位于SVN服务器的`hooks`目录下。当尝试修改历史属性时,SVN会执行这个脚本,如果脚本返回非零值,修改将...