Gerrit version: 2.12.4
Git version: 1.7.9.5
Project Options
Submit Type: Merge if Necessary
Allow content merges: false
Create a new change for every commit not in the target branch: false
Gerritの「マージ競合」によってチェリーがターゲットブランチにコミットできません。だから私たちは地元でそれを見て、紛争が何であるかを見ます。チェリーピックはGerrit UIで失敗しますが、ローカルのgit-cherry-pickで成功します
リポジトリをクローンします。ターゲットブランチをチェックアウトします。新しいコミットは提出されていません。追加オプションなしでcherry-pickコマンドgit fetch ssh://foo refs/changes/xx/yyyxx/1 && git cherry-pick FETCH_HEAD
をコピーして貼り付けます。チェリーピックは失敗せず、争いもない。プッシュ、レビュー、提出完了しました。したがって、gitコマンドを使ってうまく動作します。
私はテストを行います。 Allow content merges
をtrueに設定した場合、このような競合は発生しません。しかし、「コンテンツマージンを許可する」というのは、間違ったやりかたで軽微な矛盾を解決することがあるため、期待されていません。
誰かが似たようなケースに遭遇したことがあるのか、そしてチェリーピックがジェリットとローカルレポで異なる動作をするのかを知りたいと思います。
ご意見ありがとうございます。
JGitは問題はないがGitが失敗した場合、私はマージ戦略を責められるかもしれない。 git-cherry-pickのオプションでは、成功したチェリーピックが失敗することはありません。だから私はそれがバグかどうか疑問に思います。 – ElpieKay