2017-02-14 4 views
0

gerrit CIを使用しています。コミットメッセージフックを必要とするため、各コミットメッセージにChange-IDを追加します。git commit-msgフックで再帰的なマージが発生したときにフックを起動しない

我々は再帰的なマージを取得し引いたときしかし、時々、これはこのようなREFLOGに表示:このとき

767deb5 [email protected]{0}: pull: Merge made by the 'recursive' strategy. 

、私たちは私たちのヘリット・サーバにプッシュして、次のメッセージを取得することはできません:

! [remote rejected] HEAD -> refs/for/master ([767deb5] missing Change-Id in commit message footer) 

最後のコミットを修正するだけで簡単に解決されます。しかし、これは面倒で、それはイライラしています。

この問題を回避するにはどうすればよいですか?再帰的マージ戦略がコミット・メッセージ・フックを起動しないのはなぜですか?どうすれば自動的にフックを起動させることができますか?

答えて

1

問題は再帰的なマージ戦略とは関係ありません(私はそれが単なる偶然であったと思います)。再帰的マージ戦略の詳細については、this very good text about itをご覧ください。

Git commit-msgフックがマージコミットのために実行されず、競合が発生しないため、問題が発生します。これには非常に良い回避策があります:https://stackoverflow.com/a/24692818/4653675

+0

素晴らしい、その回避策は完璧です。あなたが後世のためにここに内容を引用するなら、私はあなたの答えを受け入れるでしょう。 :) –

関連する問題