从regluar'git push'输出错误中解读Heroku'git push'输出

时间:2010-11-26 22:26:46

标签: git parsing heroku push stderr

目前,我解析git push -q的STDERR输出,向用户显示任何git push错误。这在大多数时候都非常有用。但是当推送到Heroku时,它们的预接收挂钩也会将服务器状态和应用程序状态输出到STDERR。

我基本上只是在寻找一种简单的方法来区分输出是否实际上是来自git与无关的Heroku数据的错误。我已经尝试检查是否存在“---->”前缀,但并非所有Heroku输出都有。我还想过在STDERR字符串中检查“fatal:”和“ssh:”,但这看起来非常脆弱。我找不到任何文件,每个git错误都以***:

为前缀

发送到STDERR的实际Git错误:

ssh: Could not resolve hostname heroku.com: nodename nor servname provided, or not known
fatal: The remote end hung up unexpectedly

典型的Heroku状态:

-----> Heroku receiving push
-----> Rack app detected
-----> Gemfile detected, running Bundler version 1.0.3
       All dependencies are satisfied
       Compiled slug size is 8.4MB
-----> Launching.... done
       http://XXXXXXX.com deployed to Heroku

有没有人有更好的方法来完成识别真正的git错误?

1 个答案:

答案 0 :(得分:0)

根据Heroku的说法:截至目前,没有防弹方法可以将Heroku输出与Git输出区分开来。但他们正致力于标准化他们的输出格式。

所以这主要是寻找最常见的元素。