10

bashスクリプトで私は

git push

終了ステータスを確認します。

リモート サーバーには、いくつかの処理を行う post-receive フックがあります。エラーが発生した場合、post-receive フックはゼロ以外の値で終了します。

ただし、post-receive フックがエラーになると、git push は正常に終了します。特定のエラー文字列の出力を具体的にチェックしていない限り (そうではありません)、私のスクリプトはすべてがうまくいったと考えています。

post-receive フックが失敗したかどうかを判断する簡単な方法はありますか?

4

2 に答える 2

5

したがって、答えは no です。post-receive フックが失敗したかどうかを簡単に確認する方法はありません。できる最善の方法は、スクリプトでリモートからの出力をチェックし、受信後フックが探しているエラー メッセージをエコーすることを確認することです。

私の場合、別のバックアップリポジトリにプッシュしているため、事前受信フックは機能しません。プッシュする前に新しいコミットを受け入れる必要があります。

基本的に、受信後フックは次のようにする必要があります。

 some-command-that-might-fail

 RC=$?

 if [ $RC -eq 0 ]; then
echo -e "\nERROR: some-command-that-might-fail FAILED!!!!!!!! PANIC!!!!!!\n"
 fi

次に、プッシュを実行するスクリプトは、FAILED、ERROR、または PANIC の出力を grep し、受信後エラーを報告する必要があります。

于 2012-10-25T20:08:46.170 に答える