[darcs-devel] [patch2017] support ghc-8.8 and ghc-8.10
Ganesh Sittampalam
ganesh at earth.li
Tue May 5 20:49:38 UTC 2020
Hi,
I didn't get a chance to try some experiments tonight, but when I
thought it through briefly I realised that "full unwind" might actually
be making the situation worse. Here's my theory:
Suppose we have A;B suspended where A is a (previously) conflicted patch
and B is its resolution.
Before, if darcs didn't crash, then if we unsuspended A, it would just
be replaced by its effect and maybe some conflict markers. If we
unsuspended A and B together, or unsuspended A, then reverted the
conflict markers and unsuspended B, we'd end up with the effect of A
followed by the effect of the conflict resolution, which is exactly what
we'd want.
Now, the suspended patches will be <fixups_before>;A;<fixups_after>;B.
If we unsuspend A and B, we'll end up with conflicts between A and
fixups_before, and then conflicts between B and fixups_after. That'll be
rather a big mess.
If my theory is correct then we're actually losing out by being more
precise in what we store in the rebase, at least in this case. I'll have
a think about how to fix that..
Cheers,
Ganesh
More information about the darcs-devel
mailing list