[darcs-devel] How, exactly, is parallel patches defined?

David Roundy droundy at darcs.net
Thu Mar 27 17:54:34 UTC 2008


On Thu, Mar 27, 2008 at 02:09:11PM +0100, Jules Colding wrote:
> Sorry for asking such a fundamental question, but I'm currently  
> studying appendix A in the darcs2 manual and section A.4 confuses me  
> somewhat.
> 
> It states that parallel patches are solely defined by having an  
> identical context. Nothing else is stated about their nature or  
> exactly how one would analytically recognize two patches as being  
> parallel. Further reading seems to imply that parallel patches are  
> actually defined by having the additional property of being  
> commutative with respect to their shared context:
> 
> 
> P1 || P2 <==> P1P2 = P2P1
> 
> 
> Is that a correct interpretation?

No, the original definition was correct.  And there's no way that you can
discern whether two patches are parallel by looking at them, since it's
their context that needs to be identical, which has nothing to do with
their content.

I'm not sure where "P1 || P2 <==> P1P2 = P2P1" comes from.  Maybe you left
out some primes?

To summarize, if you and I have two identical repositories (which means
they each contain the same set of patches), then if you record a patch and
call it P1, and I record (in my repository) a patch that I call P2, then P1
and P2 are parallel, because they have the same context.  Is this unclear?
-- 
David Roundy
Department of Physics
Oregon State University


More information about the darcs-devel mailing list