美文网首页
Subversion Edge:hook使用

Subversion Edge:hook使用

作者: 87d6dc4b11a7 | 来源:发表于2022-01-27 12:48 被阅读0次

Subversion Edge默认禁用了hook模版的编辑功能。
如何启用编辑功能呢?
参考:https://liumiaocn.blog.csdn.net/article/details/108212661

启用pre-commit

在Subversion Edge中,进入版本库,选中pre-commit模版,点击rename按钮,将pre-commit.tmpl修改为pre-commit,点击OK按钮并保存,该pre-commit便生效了。
但是在提交文件时,报如下错误:
svnlook: E160043: Expected FS format between '1' and '4'; found format '6'


环境:
  • Subversion Edge 5.2.4
  • TortoiseSVN-1.14.1.29085-x64-svn-1.14.1

问题解决:因为我的环境使用yum install -y svn安装过一次SVN,而我在pre-commit中指定的SVNLOOK的路径/usr/bin/svnlook是通过yum安装svn,不是Subversion Edge安装的svn,因此修改SVNLOOK的路径为/opt/svn/csvn/bin/svnlook,修改后解决该问题。

限制提交文件大小及提交注释不能为空

#!/bin/sh

REPOS="$1"
TXN="$2"

# Make sure that the log message contains some text.
SVNLOOK=/opt/svn/csvn/bin/svnlook
LOG_INFO=`$SVNLOOK log -t "$TXN" "$REPOS"`
if [ _"$LOG_INFO" = _"" ]; then
  echo "---please add commit message!---" 1>&2
  exit 1
fi

# check file size
files=`$SVNLOOK changed -t "$TXN" "$REPOS" | awk '{print $2}'`
MAX_SIZE=5242880
for f in $files
do
  filesize=`$SVNLOOK cat -t $TXN $REPOS $f | wc -c`
  if [ "$filesize" -gt "$MAX_SIZE" ]
  then
    echo "---The submitted file must < 100MB---" 1>&2
    exit 1
  fi
done

# All checks passed, so allow the commit.
exit 0

参考:https://blog.csdn.net/liumiaocn/article/details/81942161
https://liumiaocn.blog.csdn.net/article/details/108212661
https://liumiaocn.blog.csdn.net/article/details/108212582

相关文章

网友评论

      本文标题:Subversion Edge:hook使用

      本文链接:https://www.haomeiwen.com/subject/iernhrtx.html