Cherry-pick 通过 Gerrit UI 失败,但通过本地 git-cherry-pick 成功

Cherry-pick fails via Gerrit UI but succeeds via local git-cherry-pick

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 中的 'merge conflict',Cherry-pick 提交到目标分支失败。所以我们在本地做一下,看看有什么冲突。

克隆存储库。检查目标分支。没有提交新的提交。复制并粘贴没有额外选项的 cherry-pick 命令 git fetch ssh://foo refs/changes/xx/yyyxx/1 && git cherry-pick FETCH_HEAD。 cherry-pick 不会失败,也不会发生冲突。推送、审查和提交。完毕。所以它通过本地 git 命令运行良好。

我做个测试。如果我将 Allow content merges 设置为 true,则不会发生此类冲突。但是 'allow content merges' as true 不是预期的,因为它有时会以错误的方式解决小冲突。

我想知道是否有人遇到过类似的情况,以及为什么 cherry-pick 在 Gerrit 和本地 repo 中的行为不同。

感谢您的评论。

你在本地使用 Git 但 Gerrit 使用 JGit...也许它们在合并策略上存在一些差异,或者这可能只是 J[=13= 中的一个错误].