[prev in list] [next in list] [prev in thread] [next in thread] 

List:       darcs-conflicts
Subject:    Re: [darcs-conflicts] specifying the problem
From:       David Roundy <droundy () darcs ! net>
Date:       2006-07-13 10:55:12
Message-ID: 20060713105505.GB29591 () abridgegame ! org
[Download RAW message or body]

On Wed, Jul 12, 2006 at 10:36:37PM +0100, Ganesh Sittampalam wrote:
> Hi all,
> 
> One thing that concerns me about the current discussions about repository 
> representations is that it seems to be following the path of all previous 
> attempts, spending a lot of time discussing particular scenarios without a 
> clearly articulated picture of what the overall goal is.
>
> One question I've been trying to figure out the answer to for a long time 
> is the following:
> 
> Given a set of patches, and information about their conflicts and 
> dependencies, how do we work out what the set of patches visible in 
> pristine is?
> 
> Note that the answer to this ought to be the same no matter what order the 
> patches arrived.

Absolutely.  This is just about the only fundamental constraint on the
problem.

> One answer (from IRC earlier) was that it should be "the set of live
> patches that don't conflict with any other live patches". A patch is live 
> if it has not been killed by a resolution patch.

I still hold by this.  I think it's not only intuitive, but optimal.

> Assuming this definition, consider a repository with patches A, B and C, 
> all conflicting with each other. Pristine will be empty. Now, resolve A 
> and B to make R, and imagine that R itself doesn't conflict with C. Since 
> A and B are now dead, C should suddenly pop back into existence, despite 
> the fact that we didn't do anything to it. Is this intended? If not, 
> do we need to add some rule about how R(A,B) conflicts with C anyway?
> 
> Another question (posed by Igloo on IRC) is whether two different 
> resolutions of the same pair of patches conflict. Similarly, what about 
> two different resolutions of overlapping pairs (e.g. R(A,B) and R'(B,C))?

This is the question of how a resolution patch behaves in terms of
commutation.  We haven't really discussed this in detail, or tried to
work out the consequences of any particular choices yet.  I've got
some ideas in my head about how we can handle resolution patches, but
want to think a bit more before formulating them.  I agree that this
is the next question.
-- 
David Roundy

_______________________________________________
darcs-conflicts mailing list
darcs-conflicts@darcs.net
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-conflicts
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic