如何在 svn 钩子中调用 svn propset?
我的 svn repo 允许更改错误的 svn:log 属性。它使用默认的 pre-revprop-change 模板实现。
我想修改默认的 pre-revprop-change 模板并将旧历史记录保存在其他修订属性中。
所以我写了脚本,在 svn hook 中调用 svn propset:
REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"
if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ];
then
echo "log01" >> /var/svn/history01.txt; #temp for testing
svn propset --revprop -r $REV log:my "old_msg_for_history"
file:///var/svn/repo
exit 0; fi
if [[ $PROPNAME == log* ]];
then
if [ "$ACTION" = "M"];
then
echo "log23 $REV" > /var/svn/history.txt; #temp for testing
fi;
exit 0; fi
echo "Changing revision properties other than svn:log is prohibited" >&2
exit 1
当我直接调用
svn propset --revprop -r 38041 log:my "msg_for_history" file:///var/svn/repo
它工作正常
当我通过钩子调用 undirectle
svn propset --revprop -r 38041 svn:log "msg_for_history" file:///var/svn/repo
svn propset 未调用,但出现诊断消息
echo "log01" >> /var/svn/history01.txt; #temp for testing
为什么?