【发布时间】:2015-07-18 07:16:29
【问题描述】:
我使用 jenkins + gerrit。
如果我提交并推送一些更改并且构建失败,我会看到并修复它。当我修复它,然后提交并推送时,我看到“提交,合并挂起”。
【问题讨论】:
标签: testing jenkins build gerrit
我使用 jenkins + gerrit。
如果我提交并推送一些更改并且构建失败,我会看到并修复它。当我修复它,然后提交并推送时,我看到“提交,合并挂起”。
【问题讨论】:
标签: testing jenkins build gerrit
挂起的合并意味着两件事之一。
1) 有两个提交,您试图以错误的顺序合并它们。如果是这样,后一个合并将等到前一个合并被请求。
2) 您已经拒绝了前一个合并,而后者正在等待您取消拒绝并合并。由于您可能不会这样做,因此实际上此提交将永远不会被合并。
一些解决方法
1) 如果您有一个应该被拒绝的合并,请重新提交并进行适当的修复。这意味着您 --amend 您之前的提交并再次推送。这样做会导致 gerrit “重做”提交,因为它具有相同的 Change-Id。
2) 捕获提交,并在干净拉取时重新提交。这样可以确保下次推送新提交时,它将直接附加到预期分支的当前头部。由于没有什么可等待的,合并将顺利进行。
存在其他解决方案;但是,它们变得有点复杂(即使从概念上讲它们不是骇人听闻的解决方法)。我发现在探索它们之前获得更多考虑合并和历史链的经验会更容易。
【讨论】:
Merge pending 通常意味着更改的父级未提交。
【讨论】: