目前,我解析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错误?
答案 0 :(得分:0)
根据Heroku的说法:截至目前,没有防弹方法可以将Heroku输出与Git输出区分开来。但他们正致力于标准化他们的输出格式。
所以这主要是寻找最常见的元素。