在脚本中捕获GIT后接种后错误



在bash脚本中我做

git push

我检查了其退出状态。

在远程服务器上有一个后接收钩,可以做一些事情。如果发生错误,后接种后的挂钩将以非零值退出。

但是,当后接种后的挂钩错误时,GIT推动正常退出。除非我专门检查输出是否有特定的错误字符串(我不是)我的脚本认为一切都可以。

我是否有一种简单的方法可以确定后接种后钩是否失败?

,因此答案是没有办法轻松检查后接种后的钩子是否失败。您能做的最好的方法是将脚本检查从远程检查输出,并确保您的后接收钩回波您要寻找的错误消息。

在我的情况下,预先接管的钩子无法使用,因为我正在推动另一个备份储备库,并且必须接受新的提交。

基本上,后接种后的钩子应该做以下操作:

 some-command-that-might-fail
 RC=$?
 if [ $RC -eq 0 ]; then
echo -e "nERROR: some-command-that-might-fail FAILED!!!!!!!! PANIC!!!!!!n"
 fi

然后,执行推送的脚本应抓住输出的失败或错误或恐慌,并报告后接收错误。

从http://www.kernel.org/pub/software/software/scm/git/docs/githooks.html#post-receive:

后接收者
...
此钩子不会影响Git-Receive-Pack的结果,正如完成实际工作后所说的那样。

也许没有提及传输的返回代码,但预知挂钩更适合您的目的。

相关内容

  • 没有找到相关文章

最新更新