On Mon, May 05, 2008 at 09:08:39PM +0100, Ian Lynagh wrote:
> On Mon, May 05, 2008 at 11:36:04AM -0700, David Roundy wrote:
> > On Sun, May 04, 2008 at 11:39:58PM +0100, Ian Lynagh wrote:
> > > On Thu, May 01, 2008 at 07:24:30AM -0700, David Roundy wrote:
> > > > On Thu, May 01, 2008 at 02:32:08PM +0100, Ian Lynagh wrote:
> > > > >
> > > > > If we have the repo
> > > > > PS C
> > > > > where
> > > > > C = Conflictor QS ES M
> > > > > (I'm ignoring contexts here) then
> > > > >
> > > > > * This is the patch M
> > > > > * Its effect is ES^
> > > > >
> > > > > * E \in ES <=> E \in PS
> > > > > E is not conflicted in PS
> > > > > M conflict*s with E
> > > > > * Q \in QS <=> Q \in PS
> > > > > Q is conflicted in PS
> > > > > Either
> > > > > M conflict*s with Q
> > > > > or
> > > > > There is a P \in PS such that
> > > > > P conflict*s with M
> > > > > and
> > > > > P conflict*s with Q
>
> (this is actually wrong - it should actually be the transitive closure
> of conflicts*s)
?
> > > > Yes, that sounds right
> > >
> > > I could be having a dopey moment, but is there a reason that we need to
> > > keep all of the last class of patches in the conflictor? i.e. those that
> > > we transitively conflict with?
> >
> > The problem is that if you remove the secondary conflicts, it becomes very
> > hard to write the commute,
>
> Isn't the commute code exactly the same?
I don't think so.
> Another thing:
> Can you please give me an example of when it is necessary to have a
> non-empty MS in
> Conflictor QS ES (Ms:M)
> ? i.e. when do we need a context for the "us" patch? As far as I can
> think, if we can't commute past Ms:M we always have the commute fail
> rather than adding to Ms.
If we have a dependency? Patches A1, A2, B where A2 depends on A1, and
they conflict with B. A merge results in
B [{} B | A1] [{B} | A1:A2]
--
David Roundy
Department of Physics
Oregon State University
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users