[Top][All Lists]
[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