Allow user edit message commit log SVN
I am using the
pre-revprop-change
hook that allows to actually go back and edit comments and such information after the commit has been performed. This is very useful if there is missing/errorneous information in the commit comments.
Here I post a
pre-revprop-change.bat
batch file for Windows NT or later... You can certainly enhance it with more modifications. You can also derive a post-revprop-change.cmd
from it to backup the old snv:log
somewhere or just to append it to the new log...
The only tricky part was to be able to actually parse the stdin from the batch file... This is done here with the
FIND.EXE
command.
The other this is that I have had reports from other users of issues with the use of the
/b
with the exit
command. You may need just to remove that /b
in your specific application if error cases do not behave well.@ECHO OFF
set repos=%1
set rev=%2
set user=%3
set propname=%4
set action=%5
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Only allow changes to svn:log. The author, date and other revision
:: properties cannot be changed
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if /I not '%propname%'=='svn:log' goto ERROR_PROPNAME
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Only allow modifications to svn:log (no addition/overwrite or deletion)
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
if /I not '%action%'=='M' goto ERROR_ACTION
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Make sure that the new svn:log message contains some text.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
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 properties are not allowed. >&2
goto ERROR_EXIT
:ERROR_PROPNAME
echo Only changes to svn:log revision properties 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
Source: http://stackoverflow.com/
Comments
Post a Comment