yoctozepto | morning; the q of the day is: how do I debug a MERGE_FAILURE? :D https://zuul.opendev.org/t/nebulous/buildsets | 10:51 |
---|---|---|
yoctozepto | like "This change was not merged by the code review system." is not sufficient ;p | 10:51 |
yoctozepto | I mean, firstly, is it more like 4xx or 5xx | 10:51 |
yoctozepto | :D | 10:51 |
*** dhill is now known as Guest6830 | 12:24 | |
fungi | yoctozepto: that generally means zuul's cgit thought the change was mergeable but gerrit's jgit did not (zuul is configured to attempt to reproduce the limitations of jgit's merge algorithm but doesn't perform 100% identically) | 13:03 |
fungi | the most common way we've been able to reproduce that problem is with n-way octopus merges where n is upwards of 5 commits | 13:03 |
fungi | yoctozepto: if that was the cause, usually a trivial rebase of one of the changes and then approving again should get them to merge fine, but i can take a look in gerrit's log around the time those merges failed and see if it has more clues | 13:10 |
fungi | yoctozepto: oh! | 13:11 |
fungi | looks like the parent of https://review.opendev.org/c/nebulous/library-template/+/900645 isn't current, like you revised and merged the parent without rebasing 900645 onto the new state of the parent | 13:11 |
fungi | of you expand the "show all" next to the change info heading in the top-left corner and then hover over the "i" icon next to the parent, it indicates that | 13:12 |
fungi | the current parent of 900645 was patchset 4 of 899798 while patchset 5 is what merged | 13:13 |
fungi | since the parent commit of 900645 doesn't (and won't) exist in the master branch history, there's no way for 900645 to be merged to the branch | 13:14 |
fungi | rebasing it onto the master branch state will definitely solve that | 13:15 |
yoctozepto | :O | 13:15 |
yoctozepto | thanks, fungi! | 13:15 |
yoctozepto | my bad for missing that | 13:15 |
fungi | i thought zuul normally caught that, but i may be misremembering | 13:15 |
yoctozepto | I kind of feel like the previous gerrit UI was easily showing out-of-date parents | 13:16 |
yoctozepto | but this one not so much | 13:16 |
fungi | yoctozepto: another indicator that might be easier to spot is the "(Merged)" being colored red instead of grey next to the parent in the relation chain at the top-right | 13:16 |
yoctozepto | oh! | 13:17 |
yoctozepto | thanks | 13:17 |
yoctozepto | what do these colors mean anyway? | 13:17 |
fungi | i don't think the ui designers documented it anywhere i've seen, but it looks like green means active (you'll see it next to children that aren't merged yet) and red means something like invalid (i've only ever seen it next to parents that are abandoned or where the patchset that merged isn't the actual parent patchset) | 13:19 |
fungi | as for why the ui designers don't make it more obvious, i expect that's because it's not as relevant for some of gerrit's other merge methods (for example, the rebase-if-necessary method will internally rebase changes before merging them, which also has other drawbacks) | 13:21 |
yoctozepto | I see, thanks for insights! | 14:10 |
*** dhill is now known as Guest6841 | 14:30 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!