2010-11-26 22 views
0

現在、のSTDERR出力を解析して、git pushエラーをユーザに提示します。これは大部分の時間ですばらしいです。しかし、Herokuにプッシュすると、彼らのpre-receiveフックはサーバーとアプリケーションステータスのステータスをSTDERRに出力します。regluar 'git push'出力からのHeroku 'git push'出力の解読

私は基本的に、出力が実際にgitと無関係のHerokuデータからのエラーかどうかを区別する簡単な方法を探しています。私はプレフィックス「---->」の存在を確認しようとしましたが、すべてのHeroku出力がそれを持っているわけではありません。私はまた、 "fatal:"と "ssh:"を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のエラーがSTDERRに送ら***:

実際のGitのエラーが付いているすべてのドキュメントを見つけることができませんでした実際のgitエラーだけを識別するためのより良い方法は?

+0

私は、プッシュが成功したかどうかを判断するために終了ステータスを調べることができますが、意味のあるエラーメッセージを表示する必要があります。 – SpiralLab

答えて

0

Herokuによると、今のところ、Herokuの出力をGit出力と区別するための防弾方法はありません。しかし、彼らは出力フォーマットの標準化に取り組んでいます。

ほとんどの場合、最も一般的な要素を探す必要があります。