によるとhg help push
、
プッシュが成功した場合は 0 を返し、プッシュするものが何もない場合は 1 を返します。
今、あごひげはありませんが、これは「Unixy」のやり方とは思えません。
例えば
set -e
hg push -R ~/some-repo
# never get here if push aborts for any reason
# ...OR if some-repo has no changes
exit 0
hg push
特に情報コマンドhg out
がまったく同じステータスコードを返すため、なぜこのように動作したいのか想像できません。
だから私の質問は、hg push
実際にいつ失敗したかをどうやって知ることができますか? ストリーム出力を読み取る必要がありますか?
(ちなみに、2012 年 1 月に誰かがこの方法では機能していないと指摘し、ドキュメントではなくプログラムを修正しました。)
(また、問題があることも知ってset -e
います。これはそれについてではありません。)