在预提交钩子中抛出警告

在预提交钩子中抛出警告

我想在预提交钩子中抛出警告但不中止提交。但是,似乎 svn 缓冲了输出,并且仅在检查中止时才显示它。

是否可以在不中止的情况下输出警告?

答案1

实际上,可以通过使后提交钩子失败来获得警告(使用$? != 0,就像使用预提交钩子一样)。

1因此,就我而言,我制作了用于返回错误和警告的命令2,并在提交前和提交后的挂钩中调用它。

在预提交钩子中,我有:

/usr/bin/augeas-validator $(svnlook changed -t "$TXN" "$REPOS" | awk '/^[^D].*$/ {print $2}')
if [ $? = 1 ]; then
   exit 1
fi

而在提交后钩子中,我有:

/usr/bin/augeas-validator $(svnlook changed -r "$REV" "$REPOS" | awk '/^[^D].*$/ {print $2}') || exit 1

因此,错误会阻止提交,而警告只会使提交后挂钩出错,这不会阻止提交,但仍会使用 的内容警告用户STDERR

答案2

您可以使用 mail 命令通过电子邮件发送警告。

相关内容