2010-11-26 1 views
0

В настоящее время я просматриваю вывод STDERR с git push -q, чтобы представить любые ошибки git push. Это работает замечательно большую часть времени. Однако, при нажатии на Heroku, их pre-receive hook выводит статус сервера и статус приложения на STDERR.Расшифровка выходного сигнала «git push» выхода Heroku из ошибок выхода «git push»

Я в основном ищут простой способ отличить, действительно ли вывод является ошибкой от git vs посторонних данных Heroku. Я пробовал проверять наличие префикса «---->», но не все его выход Heroku имеет его. Я также подумал о проверке «fatal:» и «ssh:» в строке STDERR, но это кажется очень хрупким. И я не мог найти никакой документации, что каждая ошибка мерзавец с префиксом ***:

Фактической ошибкой Git отправленной в STDERR:

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

Я знаю, что могу посмотреть состояние выхода, чтобы узнать, удалось ли нажать, но я хочу представить осмысленные сообщения об ошибках. – SpiralLab 2010-11-26 22:28:02

ответ

0

Согласно Heroku: на данный момент нет пуленепробиваемого способа дифференцировать выход Heroku с выхода Git. Но они работают над стандартизацией своего выходного формата.

Так что это в основном вопрос поиска наиболее распространенных элементов.