info-cvs
[Top][All Lists]
Advanced

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

Re: overwrite a branch?


From: Tyler
Subject: Re: overwrite a branch?
Date: Tue, 1 Jun 2004 16:52:24 -0700
User-agent: Mutt/1.4.2.1i

On Tue, Jun 01, 2004 at 01:35:22PM -0700, Tyler wrote:
> We've been working on two branches for several months: the trunk (our
> good pal HEAD) and the release branch (RELEASE).
> 
> Initially, the plan was for developers to make any needed changes to
> both HEAD and RELEASE. RELEASE would eventually be released, while HEAD
> would be the development branch, from which RELEASE2 would eventually be
> branched.
> 
> Somewhere in there, we changed our branching/releasing strategy, and the
> release branch got to be very long-lived, such that now we don't want to
> go back to the code on the HEAD. Instead, we want to continue working
> off of RELEASE, and eventually branch RELEASE2 from the code in RELEASE.
> 
> For various reasons, i believe that promoting RELEASE up to HEAD is a
> good idea (mostly related to low level cvs management and
> administration). 
> 
> Question 1: am i right to want to do this?
> 
> The best way i can think of to do this is by essentially overwriting
> HEAD with RELEASE. I don't want to do a merge, because HEAD is
> considered unstable (it hasn't been tested for months), and because what
> i want is precisely what's on RELEASE.
> 
> Question 2: is there a better way to do this than overwriting HEAD with
> RELEASE?
> 
> The best way i can think of to do the overwrite is with rsync.
> Basically, the methodology would be:
> 
> - freeze HEAD
> - clean checkout of HEAD
> - tag it :)
> 
> - clean checkout of RELEASE
> - tag it
> - copy all files in RELEASE sandbox over to HEAD sandbox
>       - use rsync --delete to catch files that have been deleted on
>         RELEASE but that have not had that change propagated to HEAD
> 
> Question 3: is this totally insane? Is there a better way to do the
> actual overwrite?

While i would still be interested in opinions about questions 1 and 2, a
friend of mine appears to have solved question 3. This:

cvs up -jHEAD -jRELEASE -kk

appears to have had the desired overwriting effect with no conflicts.
I'm still trying to figure out how it works, so i'm not sure i trust it,
but this:

cvs diff -rRELEASE -kk

from the merged-into working directory returns no diffs.

Question 3a: does this make sense? Or is there something subtle that
might have gone wrong -- even so subtle as to fool cvs diff?

Thanks,
tyler




reply via email to

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