[darcs-devel] Example Conflicts

Ian Lynagh igloo at earth.li
Fri Aug 3 05:58:54 PDT 2007


On Thu, Aug 02, 2007 at 04:47:58PM -0700, David Roundy wrote:
> On Fri, Aug 03, 2007 at 12:42:33AM +0100, Ian Lynagh wrote:
> > On Thu, Aug 02, 2007 at 08:57:57AM -0700, David Roundy wrote:
> > > On Thu, Aug 02, 2007 at 03:25:11PM +0100, Ian Lynagh wrote:
> > > > 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?
> > > 
> > > There's no benefit to having them, but the benefit of *allowing* them is
> > > that it is harmful to have them conflict.
> > 
> > I don't get it - if there is only one "cancel A" patch then there is no
> > "they" to conflict.
> > 
> > By "only one" I mean like rollback patches - if you rollback A and I
> > rollback A then we both have the same patch, with the same name, and if
> > we pull from each other then we are told there are no patches to pull.
> 
> But the cancel patch is a primitive patch, or rather, cancels a single
> primitive patch.  We don't have a pretty version of that option, since
> we'll often end up with many separate cancellation patches with a single
> resolved conflict, and our users won't thank us if we make all these little
> cancellation patches user-visible.

Ah, OK, so this just comes back to whether or not primpatches have
names. How do you know that a cancellation patch applies to the
particular "Hunk line 3 -foo +bar" that you want it to apply to?


Thanks
Ian



More information about the darcs-devel mailing list