Apache Subversion预提交挂钩失败

时间:2013-11-15 09:44:49

标签: java svn svn-hooks

我正在尝试为Appache subversion配置预提交挂钩,这将对java文件强制执行checkstyle。 我是SVN配置和挂钩的新手,所以我在另一个服务器挂钩上使用测试,该挂钩正在其他服务器上运行。

但是,当我在全新安装上配置它并尝试提交(创建新文件夹)时,我收到以下错误:

 A repository hook failed
svn: Commit blocked by pre-commit hook (exit code 2) with output:
/var/www/svn/mse/hooks/pre-commit: line 23: `permit-tag-write': not a valid identifier

这是第22行的钩子:

REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
JAVA=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25.x86_64
PROJECT_NAME=mse
    permit-tag-write() 
    {
        if $SVNLOOK changed -t "$TXN" "$REPOS" | awk '{print $2}' |\
            grep -q "^tags" ; then
            /bin/echo "Cannot commit to tags" 1>&2
            exit 1
        fi
    }

1 个答案:

答案 0 :(得分:3)

尝试更改脚本顶部的#!行,以bash而不是sh调用shell。在严格的POSIX模式下,不允许使用函数名中的连字符。