[darcs-users] Conflict marking
Ian Lynagh
igloo at earth.li
Wed Nov 5 13:14:43 UTC 2008
On Wed, Nov 05, 2008 at 03:06:11AM +0000, Ian Lynagh wrote:
>
> If we have a repository
> As
> then we can commute this to
> Bs Cs
> where:
> * everything in Cs is a conflictor, and
> * Bs cannot be commuted to
> Ds E
> where E is a conflictor.
>
> Let Fs^ be the effect of Cs. Then Bs can be commuted to
> Gs Fs
> (proof by contradiction: If a patch in Gs depended on something in Fs,
> then whatever conflicted with that F would have also conflicted with
> that G).
Oh, this is wrong.
Suppose we have AB + AC (where B and C both depend on A, and they
conflict with each other) = ABC', and we record a resolution patch D,
ABC'D. Then we pull in E which conflicts with A, ABC'DE'.
Then we get Bs Cs = ABC'D E'.
We have Fs = AD, but we cannot commute A past BC' (which has no net
effect).
Fortunately, we don't actually need to do this, because:
> Note that in order to find the Fs fork we don't need to split Cs into
> Gs Fs, we can just get Fs from the effect of the conflictors.
so it doesn't actually matter.
Thanks
Ian
More information about the darcs-users
mailing list