[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