SVN修改Log信息
SVN默认是不能修改Log的,强行修改会报错:
Repository has not been enabled to accept revision propchanges,ask the administrator to create a pre-revprop-change hook
如果需要修改Log,则需要配置pre-revprop-change hook脚本
一、Linux
对于Linux客户端(含群晖),需要将服务器端的hooks文件夹pre-revprop-change.tmpl文件的后缀去掉
即pre-revprop-change.tmpl改为pre-revprop-change
如果没有这个文件的话,自己建一个,内容如下:
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
echo "Changing revision properties other than svn:log is prohibited" >&2
exit 1
然后修改权限即可(需要先切换到hooks目录):chmod 777 pre-revprop-change
不过有时候文件格式不对,也会不起作用的(若没修改权限,有可能也会提示这个)
Revprop change blocked by prop-revprop-change hook (exit code 255) with no output
此时,如果强行执行一下这个pre-revprop-change文件(ssh -t admin@201.201.201.168 '/volume1/svn/WiFi_Clock/hooks/pre-revprop-change'),就会提示:
unexpected end of file
需要将文本从Windows格式,改为Linux格式
Windows下可以使用Notepad++修改
编辑->文档格式转换->转为Unix
参考资料:
https://blog.csdn.net/lc315yuhuofei/article/details/51649217
https://blog.csdn.net/iteye_17942/article/details/81759616
二、Windows
将pre-revprop-change.bat拷贝到hooks目录中,这个批处理文件内容如下:
rem Only allow log messages to be changed.
if "%4" == "svn:log" exit 0
echo Property '%4' cannot be changed >&2
exit 1
如果用的是Visual SVN Server,也可以直接在前台界面里修改,具体如下:
找到具体项目的SVN目录,右键,属性,修改Hooks脚本,填入上述内容



