Gerrit系统只有几个人使用。一旦有一个变更A,其状态为:“已提交,合并挂起”。“打开”网页中的更改列表。此外,我注意到此更改依赖于另一个更改B(其状态为已放弃)。
发布于 2012-01-05 11:40:55
如果更改A依赖于B,则在合并B之前不能合并A。由于您已经放弃了B,Gerrit将不会自动合并A。
您需要做的是修改A(可能使用git rebase
),使其不再依赖于B,并将更改重新提交给Gerrit。
发布于 2015-05-18 21:37:30
仅供参考。当用户在同一页面上按两次submit (她双击submit按钮)时,我遇到了同样的问题“submit,Merge Pending”。它发生在Gerrit2.11中。
日志中的错误看起来像这样
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '5173-2-1' for key 'PRIMARY'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
在提交之前,只有1次提交(代码更改)。但是在双击之后会有2次提交。第二个是新的提交消息和“已提交,合并挂起”状态。
当我删除有关第二次提交的所有信息时:
$ ssh -p 29418 admin@machine gerrit gsql
gerrit> delete from `patch_set_approvals` where change_id=5173 and patch_set_id=2;
gerrit> delete from `patch_set_ancestors` where change_id=5173 and patch_set_id=2;
gerrit> delete from `patch_sets` where change_id=5173 and patch_set_id=2;
它被用户Gerrit Code Review标记为集成。
发布于 2013-01-10 05:02:09
Greg所说的是正确的,自动合并是不可能的。通过使用Gerrit的"cherry pick“选项(本质上是一个手动合并),可以只合并A。不幸的是,这不会删除Gerrit的"Merge Pending“状态。如果贡献者不能改变基址,我通常会写一条评论来说明这一点。
https://stackoverflow.com/questions/8737326
复制相似问题