[darcs-users] Different approach for "incoherent" patches

Andrew Pimlott andrew at pimlott.net
Mon Nov 22 07:48:26 UTC 2004


On Mon, Nov 22, 2004 at 03:14:12PM +1000, Anthony Towns wrote:
> Rather than trying to make patch A5.1 "supersede" patch A5, a different 
> approach might be to make A's and B's repositories "sync". So that if 
> B's repository has patches:
> 
>  A1, A2, A3, A4, B1, A5, B2, B3
> 
> and A's repository has patches
> 
>  A1, A2, A3, A4, A5.1
> 
> then we say "B1, B2, and B3" aren't from repo "A", so leave them. That 
> leaves "A1, A2, A3, A4, and A5", but "A1-4" are still in A's repository, 
> so leave them too. That just leaves A5, which needs to be removed, and 
> A5.1 which needs to be added, giving us:
> 
>  A1, A2, A3, A4, B1, B2', B3', (A5, A5^-1), A5.1

I don't have much to say, except that this line of thinking seems
promising.  Both the history part (where did this patch come from) and
the repo relationship (these two repos are "in sync") part.  I suspect
you could define some very useful policies with a tool that let you
define such relationships, eg "this repo is an integration branch for
these other repos" or "patches from this branch shouldn't be mixed with
patches from that branch".  But as you point out, in a distributed
system you have to think hard about what exactly these relationships
mean.

Andrew




More information about the darcs-users mailing list