[darcs-devel] Re: Example Conflicts

Jason Dagit dagit at codersbase.com
Fri Aug 3 05:04:59 PDT 2007


On 8/3/07, Simon Marlow <simonmarhaskell at gmail.com> wrote:
> David Roundy wrote:
> > On Wed, Aug 01, 2007 at 01:58:29AM +0100, Ian Lynagh wrote:
>
> >> And the "cancel A" patch doesn't have any sort of reference to B in it?
> >
> > Right.
>
> I seem to remember there was a problem with this approach.  Perhaps not a
> technical problem, but a conceptual one.
>
> Something like this:
>
> Suppose patches A and B conflict, and David and Ian both have repositories
> containing A and B.
>
> Ian resolves in favour of A, records cancel(B).
> David resolves in favour of B, records cancel(A).
>
> Ian pulls from David, and now has both cancel(A) and cancel(B).  At this
> point we expect a conflict, because both David and Ian have resolved the
> original conflict in different ways; but cancel(A) and cancel(B) commute.
> Don't they?

Wouldn't we expect both A and B to be canceled instead of a conflict?
Perhaps we should consider this a conflict of interest, but it's not
clear to me that it should be a patch/change conflict.  Maybe Ian or
David has a thought.  And yes, cancel(A) and cancel(B) commute as
cancellations are designed to always commute.

thanks,
Jason


More information about the darcs-devel mailing list