[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