В настоящее время я анализирую вывод STDERR из git push -q
, чтобы представить пользователю любые ошибки git push
.Это работает чудесно большую часть времени.Однако при нажатии на Heroku, их ловушка предварительного приема выводит статус сервера и статус приложения в STDERR.
Я просто ищу простой способ определить, являются ли выходные данные ошибками по сравнению с посторонними данными Heroku.Я пытался проверить наличие префикса "---->
", но не во всех выходных Heroku есть.Я также подумал о проверке «fatal:
» и «ssh:
» в строке STDERR, но это кажется очень хрупким.И я не смог найти никакой документации, что каждая ошибка git имеет префикс ***:
Фактическая ошибка 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?