如何解决Gerrit的“您的变更需要递归合并来解决” [英] How to solve Gerrit's "Your change requires a recursive merge to resolve"

查看:379
本文介绍了如何解决Gerrit的“您的变更需要递归合并来解决”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Gerrit有以下开放评论:


  • 更改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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆