[darcs-devel] Example Conflicts

Ian Lynagh igloo at earth.li
Thu Aug 2 07:25:11 PDT 2007


On Wed, Aug 01, 2007 at 10:54:43AM -0700, David Roundy wrote:
> On Wed, Aug 01, 2007 at 01:58:29AM +0100, Ian Lynagh wrote:
> 
> > > You merge A and B by choosing to cancel A in favor of B.  Now you want
> > > to pull C into  your repository.
> > > 
> > > I was explaining it like thus:
> > > First you get X[](A)X[](B)
> > > Now you cancel A, so remerge brings B back to life.  So then you have:
> > > X[](A) B (Cancel A)
> > 
> > Am I right in thinking that there is only 1 "cancel A" patch, so for
> > example if you and I both cancel A and then pull from each other there
> > is no conflict?
> 
> My thought is that you can have multipel "Cancel A" patches, but they won't
> conflict with each other.

What is the benefit of having multiple "Cancel A" patches?

> > I think you want:
> > 
> > Definition:
> > The pristine state of the repository consists of the set of active
> > changes such that both:
> > * the change does not conflict with any other active changes
> > * all the dependencies of the patch is in the pristine state.
> 
> The latter part of this is implied by the former, with a proper definition
> of "conflict".  If patch C depends on patch A which conflicts with patch B,
> then patch C conflicts with patch B.

I prefer my definitions, but the end result is the same.


Thanks
Ian



More information about the darcs-devel mailing list