1

如何在 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

为什么?

4

0 回答 0