info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Maintaining branches...


From: Mike Castle
Subject: Re: Maintaining branches...
Date: Sat, 16 Jun 2001 10:03:00 -0700
User-agent: Mutt/1.3.18i

On Sat, Jun 16, 2001 at 09:25:10AM -0700, Paul Sander wrote:
> If I understand you correctly, what you want is this:
> 
> Merge 1:
> specification - version 1.4 = 1.3 + ( 1.1.0.3 - 1.1.0.2 )
> result - version 1.4 = 1.3 + ( 1.1.0.3 - 1.1.0.2 )
> 
> Merge 2:
> specification - version 1.5 = 1.4 + ( 1.1.0.5 - 1.1 )
> result - version 1.5 = 1.4 + ( 1.1.0.5 - 1.1.0.3 ) + ( 1.1.0.2 - 1.1 )
> 
> Is this correct?

Correct.

> What about the case where the first merge is a partial, where the result
> (version 1.5) contains only a subset of the deltas between 1.1.0.3 and
> 1.1.0.2?  In this case, applying all of (1.1.0.5 - 1.1) to 1.4 and resolving
> conflicts seems like the right thing to do.

Except that I would expect that there should be no conflicts (stemming from
the re-application of a set of changes any).  

That's why I think it should be a multipass system.  1.1.0.2 - 1.1 as one
diff, 1.1.0.5 - 1.1.0.3 as another set of diffs.

I would imagine that the sets of diffs would be built up, and applied in
turn.  As each set was applied, whatever necessary tracking would be done
in local files.  And as soon as any conflict occurs, patching would stop.
This could result in an incomplete application of patches, but there is
nothing to prevent the process from picking up where it left off after
resolution.

mrc
-- 
     Mike Castle      address@hidden      www.netcom.com/~dalgoda/
    We are all of us living in the shadow of Manhattan.  -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc



reply via email to

[Prev in Thread] Current Thread [Next in Thread]