Elijah Newren <newren@xxxxxxxxx> writes: >> I think `--exec true` would be better as it makes it clear that it's not >> a timing issue. I've changed do_recursive_merge() to print the mtime and >> mode of "DS" before and after the merge which gives >> >> HEAD is now at abd8fe3 side1 >> Rebasing (1/2) # picking commit1 >> DS mtime, mode before merge 1582109854, 120000 >> DS mtime, mode after merge 0, 120000 >> Rebasing (2/2) # picking commit2 >> DS mtime, mode before merge 0, 120000 >> error: Your local changes to the following files would be overwritten by >> merge: >> DS >> >> So it looks like the problem is that when we pick commit1 we don't >> update the index entry for DS properly in merge_trees() >> >> Best Wishes >> >> Phillip > > Oh, indeed, so this was my bug. Thanks for jumping in and > investigating; I probably should have found that lead but I just > didn't. Anyway, with your extra information I dug around for a bit > and I think I found the fix. I'll post it soon. Nice. I recall that somebody said that no bug is deep enough to hide from us when we have sufficient number of eyeballs ;-)