2016-05-01 20 views
2

私は、バグ追跡ツールの属性に応じてコミットを制限したいブランチを持っています。だから私は、変更がgitからプッシュされたときに行うためにref-updateフックにチェックを設定しています。しかし、誰かが別のブランチから変更をチェリーピックし、矛盾がなければ、属性をチェックせずに入ります。cherry-pickをgerritの特定のブランチにブロックする方法

  1. この属性は、gerritからも確認できますか? (または)
  2. 特定のブランチのみについて、gerritでチェリーピッキングをブロックすることはできますか?

何か助けていただければ幸いです。

答えて

0

特定のコミットをブロックしたり、ブランチをロックすることができます。 チェリーピックをブロックしたい場合は、次のようにしてください:

たとえば、フック(受信前)を使用します。 次に、目的のコミットのリストをチェックし、リポジトリ内に既に存在するものがあるかどうかを調べ、見つかった場合はそれを保持するかどうかを決定します。

問題: 何がマージで発生し、プッシュしますか?すべてのコミットが既にリポジトリにあり、それらをマージしようとしていると仮定します。コミットの検出に基づいてブロックされます。

マージを扱うフックはクライアントサイドフックですが、プッシュを扱うフックはサーバーサイドフックです。

概要: あなたはそのSHA-1を、知っていればそうでない場合は、あなたがコミットをチェリーピックがコミットであることを知っている方法を見つける必要があります選択した(またはすべての)枝にコミット特定のをブロックすることができます。

+0

答えは@CodeWizardです。 Gerritはgitフックをサポートしていないので、pre-receiveはオプションではありません。私はどのゲリットフックを使用するか分からない。パッチセットで作成されたgerritフックを使用できるかどうかを確認します。私が成功すれば更新されます。 UI上で「チェリーピック」を選択したときに実際に何が起こっているか知っている人はいませんか?それが助けになるかもしれない。 – LizzeBennet

+0

cherry-pickを使うと、コミットして最新のコミットとしてブランチに追加するだけです – CodeWizard

関連する問題