[darcs-devel] Example Conflicts

Jason Dagit dagit at codersbase.com
Fri Aug 3 06:51:56 PDT 2007


On 8/3/07, Ian Lynagh <igloo at earth.li> wrote:
> 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?

We plan to use the same naming scheme that you proposed, eg. A.n for
prim patches in A.

Jason


More information about the darcs-devel mailing list