pre-commit hook不检查模式

时间:2012-02-20 11:17:43

标签: svn pre-commit-hook

我是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。问题是什么?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

下面的脚本只允许提交所需的模式^ 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