【问题标题】:pre-commit hook does not check pattern预提交挂钩不检查模式
【发布时间】:2012-03-10 17:48:03
【问题描述】:

我是 SVN 的新手,我正在尝试编写一个预提交挂钩来检查模式 ^ABC-[0-9]+|^CONFIG:+|^MERGE: 上的提交消息。我正在使用此代码:

if [ `/svn/bin/svnlook log -t "$TXN" "$REPOS" | egrep -v "^ABC-[0-9]+|^CONFIG:+|^MERGE:"` ];
then
    echo ""
        exit 1
fi;

但它不能按我的需要工作,并且无论如何都可以提交带有“Test-test”之类的消息的 CL。问题是什么?

提前谢谢你!

【问题讨论】:

  • 问题是字符串的 grep 结果。以下将起作用: $SVNLOOK log -t "$TXN" "$REPOS" | egrep -q -v "^ABC-[0-9]+|^CONFIG:|^MERGE:" 如果 [ $? -eq 0 ];

标签: svn pre-commit-hook


【解决方案1】:

下面的脚本只允许提交所需的模式^ABC-[0-9]+$|^CONFIG:|^MERGE:

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

# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook
$SVNLOOK log -t "$TXN" "$REPOS" | \
 grep -E "^ABC-[0-9]+$|^CONFIG:|^MERGE:" > /dev/null || exit 1

# Exit on all errors.
set -e


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-24
    • 2019-05-06
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多