2016-11-29 6 views
1

post-mergeというスクリプトをリポジトリのどこかに保存しているとしましょう。フックを最新のバージョンにアップグレードしたい。gitフックが上書きされる可能性はありますか?

なぜですか?この背後にある主な理由は、複数のサーバーにアクセスしたり、各サーバーに手動でコードを展開したりすることなく、フックスクリプトをワンプッシュで展開することができるということです。フックスクリプトは、変更される可能性があるdbスキーマに依存します。

このシナリオでは、ロックは.git/hooks/post-mergeに置かれるため、簡単な方法で上書きすることはできません。

私は、このようなpre-mergeとして、スクリプトを更新するために、別のフックを使用した場合、それは成功するだろうが、その時点ではまだ最新post-mergeスクリプトについてpre-merge知らない、それは背後にあるコミットものであろう。

この問題のご意見はありますか?

答えて

1

大丈夫です。可能な治療法を見つけました。

スクリプトの最後に、上書きジョブを実行する独立したプロセスを開きます。 post-mergeのPIDを渡すので、post-mergeスクリプトがまだ実行中かどうかを継続して確認できます。そうでない場合は、スクリプトを最新バージョンに更新して終了します。

関連する問題