Zur Zeit parse ich STDERR-Ausgabe von git push -q
, um dem Benutzer alle git push
Fehler anzuzeigen. Das funktioniert wunderbar die meiste Zeit. Wenn sie jedoch zu Heroku wechseln, gibt ihr Pre-Receive-Hook den Status des Server- und Anwendungsstatus an STDERR aus.Entschlüsselung von Heroku 'git push' Ausgabe von regluar 'git push' Ausgabefehler
Ich bin im Grunde nur auf der Suche nach einem einfachen Weg, um zu unterscheiden, ob die Ausgabe tatsächlich Fehler von git vs externen Heroku-Daten ist. Ich habe versucht, das Vorhandensein eines "---->
" Präfix zu überprüfen, aber nicht alle Heroku-Ausgabe hat es. Ich dachte auch daran, nach "fatal:
" und "ssh:
" in der STDERR-Kette zu suchen, aber das scheint sehr spröde zu sein. Und ich konnte keine Dokumentation finden, dass jeder git Fehler mit ***:
Actual Git Fehler an STDERR gesendet vorangestellt ist:
ssh: Could not resolve hostname heroku.com: nodename nor servname provided, or not known
fatal: The remote end hung up unexpectedly
Typische Heroku Status:
-----> 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
Hat jemand irgendwelche Ideen einen besseren Weg zu erreichen, nur die echten Git-Fehler zu identifizieren?
Ich weiß, ich kann auf den Exit-Status zu sehen, ob der Push erfolgreich war, aber ich möchte sinnvolle Fehlermeldungen präsentieren. – SpiralLab