Aug
3
有些时候提交了内容后,对于备注感觉不是写得太好.需要修改备注.但系Svn 的服务默认没有开启该功能.如果使用TortoiseSVN 尝试修改备注(在show log的备注栏中右键就可以看到编辑的功能)可能会出现以下错误:
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
解决的方法如下:
在Unix/Linux平台上,在库的hooks目录下,复制pre-revprop-change.tmpl成pre-revprop-change。
cp pre-revprop-change.tmpl pre-revprop-change
在Windows平台上,复制以下内容保存为文件hooks/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
Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
解决的方法如下:
在Unix/Linux平台上,在库的hooks目录下,复制pre-revprop-change.tmpl成pre-revprop-change。
cp pre-revprop-change.tmpl pre-revprop-change
在Windows平台上,复制以下内容保存为文件hooks/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