2012-01-05 164 views
16

Gerrit系统仅由我们几个人使用。 一旦发生变更A,其状态为:“已提交,合并待审批”。 “打开”网页中的更改列表。 另外我注意到这个变化对另一个变化B(哪个状态被放弃)有依赖性。Gerrit更改状态:已提交,合并待定,如何解决?

  1. 如何使A列在“合并”网页上?
  2. 如何让B消失,让A不再依赖B?
+1

我问了[类似问题](http://stackoverflow.com/q/20496959/1469208),并得到了一些更详细的(对新手有用)的答案。 – trejder 2013-12-12 12:00:12

回答

21

如果变更A对B有依赖关系,那么在B被合并之前A不能被合并。由于您已经放弃B,Gerrit不会自动合并A.

您需要做的是修改A(可能使用git rebase),以便它不再依赖于B,并将更改重新提交给Gerrit。

+0

那么如何让B从网页中消失? – gemfield 2012-01-05 06:40:28

+0

你已经放弃了B.你还想用它做什么? – 2012-01-05 23:18:11

+1

@GregHewgill我想他的意思是如何从Gerrit中删除更改B条目,就好像它从来没有存在过(因此它不会显示在Gerrit Web UI的任何位置)。我认为从Gerrit网络用户界面不可能实现,因为放弃的更改项目可让您从废弃状态恢复更改。如果仍然想要删除它们,可以从后端手动执行(尽管我从未尝试过) – Vikram 2013-07-18 13:57:33

1

Greg说的是正确的,自动合并是不可能的。通过使用Gerrit的“cherry pick”选项(基本上是手动合并),可以合并A。不幸的是,这不会消除Gerrit的“Merge Pending”状态。如果投稿人不会因为发生重建而感到困扰,我通常会为此写下评论。

0

我有“提交,合并挂起”无任何依赖性或冲突同样的问题。快速修复是通过所有未清项目,并查看是否有任何其他提交“已提交,合并待定”状态。如果是的话,就放弃他们。

然后git commit --amend -m“你原来的评论”和git再次推送,这次你可以修改你的修正。

2

仅供参考。当用户在同一页上按两次提交(她双击提交按钮)时,我遇到了“提交,合并等待”的问题。它发生在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代码审查集成。

0

我面对这个问题,因为我把一个标签分支名:

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 

这样格里特能够再次合并我的悬而未决的补丁。

0
  1. 放弃你从Gerrit的推动。

在终端:

  • git的日志
  • GIT中复位HEAD〜n的
  • 其中n是从顶部提交的列表提交计数在步骤2的终端上生成。

    1. git add。
    2. git的承诺-m “你的消息”
    3. 混帐推

    现在合并您提交的格里特。

    相关问题