> I think this change is sound, but I wonder if it isn't still more
> complicated than necessary. In particular, why do we have to commute
> here at all? I thought we have a global rebase invariant that says
> fixups are always pushed as far into rebase as possible? If this is
> indeed the case, then we should be able to assume that we cannot
> commute any of the fixups with the toedit patch.
That's a good question I had to think about a bit. But actually
'changes' displays the conflicts at a more fine-grained level
than the toedit patch as a whole, so we have to do this to
find out which individual prims are conflicted. The test I wrote
(rebase-changes-partial-conflict) demonstrates this, because
only some of the files are reported as conflicted.
I'll add a comment to clarify as it wasn't immediately obvious
to either of us.
|