在Windows服务器上解决SVN不允许修改日志说明的问题

106 篇文章 0 订阅
58 篇文章 0 订阅

昨天,我想在SVN上修改一个文件的注释,但提交时提示:

DAV request failed; it's possible that the repository's pre-revprop-change hook 

either failed or is non-existent At least one property change failed; repository is uncahnaged 

Error setting property "log":

Repository has not been enabled to accept revision propchanges;

ask the administrator to create a pre-revprop-change hook

 google了一下,有两种解决办法。

 

第一种是直接在svn服务器上的工程库目录下 hooks 目录下新建一个空的 pre-revprop-change.bat即可,这样就好象没有对修改权限进行限制,如果是个人使用的服务器,可以这样处理,如果是项目组中使用,则建议采用下面的方法。

 

第二种方法跟第一种一样,新建一个pre-revprop-change.bat文件,然后把下面的内容粘贴到该文件中:

@ECHO OFF    
:: Set all parameters. Even though most are not used, in case you want to add    
:: changes that allow, for example, editing of the author or addition of log messages.    
set repository=%1    
set revision=%2    
set userName=%3    
set propertyName=%4    
set action=%5    
    
:: Only allow the log message to be changed, but not author, etc.    
if /I not "%propertyName%" == "svn:log" goto ERROR_PROPNAME    
    
:: Only allow modification of a log message, not addition or deletion.    
if /I not "%action%" == "M" goto ERROR_ACTION    
    
:: Make sure that the new svn:log message is not empty.    
set bIsEmpty=true    
for /f "tokens=*" %%g in ('find /V ""') do (    
set bIsEmpty=false    
)    
if "%bIsEmpty%" == "true" goto ERROR_EMPTY    
    
goto :eof    
    
:ERROR_EMPTY    
echo Empty svn:log messages are not allowed. >&2    
goto ERROR_EXIT    
    
:ERROR_PROPNAME    
echo Only changes to svn:log messages are allowed. >&2    
goto ERROR_EXIT    
    
:ERROR_ACTION    
echo Only modifications to svn:log revision properties are allowed. >&2    
goto ERROR_EXIT    
    
:ERROR_EXIT    
exit /b 1   

 

至于在Linux/Unix上,则可以复制  hooks 目录下的 pre-revprop-change.tmpl 为 pre-revprop-change.sh,然后根据实现需要做相应修改即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值