[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: branch removal question
From: |
Jim.Hyslop |
Subject: |
RE: branch removal question |
Date: |
Wed, 23 Jun 2004 09:39:39 -0400 |
Don Butts wrote:
> I asked this question last Friday but got no response.
> Was it poorly asked, not enough information, too ignorant for
> words?
How about, this requires a few more brain cycles than were available at the
time? :=)
> -----Original Message-----
> We are using cvs in somewhat of a non-standard way.
> We have a production cut of our compiled source that
> we deploy via cvs using a production branch. The
> application does not mind the fact the CVS control
> files co-exist within the source and the application
> runs fine. When we want to patch production we first
> patch the same branch in a different checkout area and
> then commit it. When it comes time to upgrade the
> production area we bring down the application during a
> maintenance window and perform a cvs update in the
> production area. This has worked great for more than a
> year so I am very happy with this process. We were
> basically mimicking this process in a pre-production area
> for QA purposes and while this has worked OK we are
> having a bit of trouble keeping these two branches in
> sync. So, I know that I can remove a branch via the
> cvs admin -n command and I am wondering if a better
> process would be to remove the preprod branch every time
> I move a new patch to production and when it comes time
> to test the next patch just recreate the preprod branch
> off of the current prod branch. I have performed some
> tests using this method and all seems to work fine but
> I thought that I would ask the opinion of those who have
> been using CVS a lot longer than I.
I wouldn't remove the branches. I'm always reluctant to remove anything from
the history.
Instead of checking out branches, it might be easier to apply non-branch
tags instead. This means fewer branches to deal with. I'm guessing the
reason you're using a branch is because the update command remains the same,
e.g. cvs update -r PROD (where PROD is a branch tag).
Basically, what you would do is to create a non-branch tag indicating the
currently-tested and working version, e.g. cvs tag REL_2_0_2. Then, you can
move the PRODUCTION tag using the -F option to tag.
Let me know if I'm not being clear (I haven't had my morning coffee yet ;-)
--
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. (http://www.leitch.com)
Columnist, C/C++ Users Journal (http://www.cuj.com/experts)