如何解决Gerrit的“您的变更需要递归合并来解决” [英] How to solve Gerrit's "Your change requires a recursive merge to resolve"
问题描述
-
更改I37783be4
取决于变更Iff96ca11(合并)
更改I37783be4取决于已合并的提交,所以我希望Gerrit知道如何将它合并到主控中。仍然出现以下错误:
您的更改需要递归合并才能解决。
请将本地更改合并(或重新绑定),然后上传该决议以供审核。
我尝试获取特定changeId并执行 git rebase master',但是我唯一回来的是一个令人伤心的无事可做的信息。
任何想法我做错了吗?
问题是递归合并策略。由于文件重命名等原因,此策略可能是必需的。然而,Gerrit使用JGit作为Git实现,而JGit仅支持解决方案合并策略(至少在此时)。所以你必须在本地执行(在那里你可能想使用Git而不是EGit,因为EGit也使用JGit)。
你也可以尝试git rebase origin / master,以防您的本地主人和您的出身/主人彼此不同。
I have the following open review in Gerrit:
Change I37783be4
depends on Change Iff96ca11 (MERGED)
Change I37783be4 it's depending on an already merged commit, so I would expect that Gerrit knows how to merge it into master. Still I do get the following error:
Your change requires a recursive merge to resolve. Please merge (or rebase) the change locally and upload the resolution for review.
I tried to fetch that specific changeId and do a 'git rebase master', but the only thing I get back is a sad "Nothing to do" message.
Any ideas of what I'm doing wrong?
The problem is the recursive merge strategy. This strategy could be necessary due to file renames etc. Gerrit however uses JGit as Git implementation, and JGit only supports the resolve merge strategy (at least at the moment). So you have to do it locally (and there you may want to use Git and not EGit, since EGit also uses JGit).
You could also try "git rebase origin/master" in case that your local master and your origin/master differ from each other.
这篇关于如何解决Gerrit的“您的变更需要递归合并来解决”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!