Hello Phillip, thanks a lot for addressing this, very appreciated! On Tue, Jun 30, 2026 at 04:28:50PM +0100, Phillip Wood wrote: > On 19/06/2026 11:13, Phillip Wood wrote: > > I'm happy to take this forward and try and fix at least some of the > > other bugs I've listed above. Uwe - if I don't cc you on some patches > > within the next couple of weeks please feel free to send a reminder. > > Here is the first batch that fixes the same problem as Uwe's patch. I've > taken a slightly different approach that uses the return value from > do_pick_commit() to signal that a commit was dropped rather than > adding another function argument. That involves a number of preparatory > patches, but they are hopefully reasonably small and easy to follow. > > If a commit gets dropped because its changes are already upstream > then we should not record it as rewritten. As well as confusing any > post-rewrite hooks this means we end up copying the notes from the > dropped commit to the commit that was picked immediately before the > one that was dropped. > > This series is structured as follows: > > Patch 1 restores some test coverage that was lost when the default > rebase backend was changed. > > Patch 2 moves a function so it can be called without a forward > declaration in Patch 11. > > Patches 3 & 4 fix the return value of do_pick_commit() when an external > command fails (this is in preparation for patch 10). > > Patches 5-9 try and simplify the control flow in pick_one_commit() > in preparation for patch 10. > > Patch 10 changes the return type of do_pick_commit() to an enum. > > Patch 11 adds a new member to the enum from patch 10 for commits that > are dropped when they become empty and uses that to stop them from > being recorded as rewritten. With my very little knowledge about git internals, this looks reasonable, and it behaves as I expect in my test case. I installed a local Tested-by: Uwe Kleine-König > Base-Commit: 6c3d7b73556db708feb3b16232fab1efc4353428 BTW, b4 didn't pick this up, for me it says: Base: not specified (and I applied it on top of 2.55.0). Best regards Uwe