Gerrit系统仅由我们几个人使用。 一旦发生变更A,其状态为:“已提交,合并待审批”。 “打开”网页中的更改列表。 另外我注意到这个变化对另一个变化B(哪个状态被放弃)有依赖性。Gerrit更改状态:已提交,合并待定,如何解决?
- 如何使A列在“合并”网页上?
- 如何让B消失,让A不再依赖B?
Gerrit系统仅由我们几个人使用。 一旦发生变更A,其状态为:“已提交,合并待审批”。 “打开”网页中的更改列表。 另外我注意到这个变化对另一个变化B(哪个状态被放弃)有依赖性。Gerrit更改状态:已提交,合并待定,如何解决?
如果变更A对B有依赖关系,那么在B被合并之前A不能被合并。由于您已经放弃B,Gerrit不会自动合并A.
您需要做的是修改A(可能使用git rebase
),以便它不再依赖于B,并将更改重新提交给Gerrit。
Greg说的是正确的,自动合并是不可能的。通过使用Gerrit的“cherry pick”选项(基本上是手动合并),可以合并A。不幸的是,这不会消除Gerrit的“Merge Pending”状态。如果投稿人不会因为发生重建而感到困扰,我通常会为此写下评论。
盖伊。 如果你提交了一个标签,你可能会遇到一个错误。 Gerrit V2.7修复了这个bug。
错误引用: https://groups.google.com/forum/#!topic/repo-discuss/tLVMibfzroc
我有“提交,合并挂起”无任何依赖性或冲突同样的问题。快速修复是通过所有未清项目,并查看是否有任何其他提交“已提交,合并待定”状态。如果是的话,就放弃他们。
然后git commit --amend -m“你原来的评论”和git再次推送,这次你可以修改你的修正。
仅供参考。当用户在同一页上按两次提交(她双击提交按钮)时,我遇到了“提交,合并等待”的问题。它发生在Gerrit 2.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 [email protected] 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代码审查集成。
我面对这个问题,因为我把一个标签分支名:
git tag x.y.z HEAD
git push -f origin x.y.z:master
因此,更好地推动一个分支,而不是,
git tag x.y.z HEAD
git push -f origin HEAD:master
这样格里特能够再次合并我的悬而未决的补丁。
在终端:
其中n是从顶部提交的列表提交计数在步骤2的终端上生成。
现在合并您提交的格里特。
我问了[类似问题](http://stackoverflow.com/q/20496959/1469208),并得到了一些更详细的(对新手有用)的答案。 – trejder 2013-12-12 12:00:12