svn预提交挂钩使所有提交失败

svn预提交挂钩使所有提交失败,svn,directory,hook,Svn,Directory,Hook,我需要一种方法来阻止在svn中删除目录主干。我决定添加pre-commit钩子来实现这一点 下面是我的预提交钩子 REPOS="$1" SVNLOOK=/usr/bin/svnlook $SVNLOOK changed "$REPOS" | grep '^D ' || exit 1 ; exit 0 起初它似乎很有效,但现在我不能用钩子向svn承诺任何事情 我还试图缩小范围,这样只有在删除主干时,提交才会失败 #!/bin/sh echo $1 REPOS="$1" SVNLOOK=/u

我需要一种方法来阻止在svn中删除目录主干。我决定添加pre-commit钩子来实现这一点

下面是我的预提交钩子

REPOS="$1"
SVNLOOK=/usr/bin/svnlook

$SVNLOOK changed "$REPOS" | grep '^D ' || exit 1 ;
exit 0
起初它似乎很有效,但现在我不能用钩子向svn承诺任何事情

我还试图缩小范围,这样只有在删除主干时,提交才会失败

#!/bin/sh
echo $1 

REPOS="$1"
SVNLOOK=/usr/bin/svnlook

$SVNLOOK changed "$REPOS" | grep '^D.*trunk/$ ' || exit 1 ;
exit 0
但这也不起作用。这个钩子是我的首选方式,因为用户可能想要删除主干中的某些内容,这应该通过钩子


你知道我该怎么做吗?

我注意到我有一个| |导致我的提交失败。下面是我的工作方案

REPOS=“$1” SVNLOOK=/usr/bin/SVNLOOK

$SVNLOOK changed $REPOS | grep '^D.*trunk/$ '
if [ "$?" > "0" ];then
exit 1
fi
exit 0