[darcs-devel] Example Conflicts
David Roundy
droundy at darcs.net
Thu Aug 2 16:47:58 PDT 2007
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.
So no, I don't see a simple and practical way to make there be only one
"Cancel A" patch, and since I see no harm in allowing multiple such
patches, it seems like a clear solution to me.
--
David Roundy
Department of Physics
Oregon State University
More information about the darcs-devel
mailing list