分类:
2008-09-12 15:16:30
直接在TortoiseSVN中修改过往日志,会提示:
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 unchanged.
因为SVN库中的日志本身是没有进行版本管理的,为防止误操作导致原日志信息丢失,所以缺省禁止对其进行修改。如果要能在客户端进行修改,必须在repository的hook目录下新建一个pre-revprop-change.bat,内容如下:
if "%4" == "svn:log" exit 0
echo Property '%4' cannot be changed >&2
exit 1
在属性修改前,该脚本会被执行,如返回0即表示同意修改。另外,注意该目录下本就有一个pre-revprop-change.tmpl,但那个是xNix的shell脚本,windows平台貌似不太好用。
然后在客户端就可以正常修改了,其后台应该是调用类似下面的命令:
svn propset -r N --revprop svn:log "new log message" URL
也可以在服务端通过运行下面的命令来做同样的事情,其中FILE是保存新日志信息的文件路径:
svnadmin setlog REPOS_PATH -r N FILE