[Top][All Lists]

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

RE: Build environments using CVS

From: Miller Dale C Contr AFWA/SDHS
Subject: RE: Build environments using CVS
Date: Wed, 20 Oct 2004 12:29:20 -0500


>From what you have written, I am assuming:
  1.  by "Deleting files from CVS" you are moving the files to the Attic
  2.  you are using the "TEST" and "LIVE" tags to cvs export or checkout
using the tag to create your build area
  3.  you are not removing TEST and LIVE tags before you move files to the

If these assumptions are true, your problem should be corrected if you
remove the TEST and LIVE tags prior to placing files into the Attic, you
could also remove the tags after the fact but it is easier first.

To get a quick list of the files you have in the Attic you could use the
following UNIX commands substituting the desired module name:

  cvs -q rlog -R module | grep "Attic/" > attic.list1

to remove the "Attic/" and ",v" from the attic.list1 you could use:

  awk '/Attic\//{sub(/Attic\//,"");sub(/,v$/,"");print}' attic.list1 >

You would also need to remove the "$CVSROOT" from the beginning of each line
using awk, sed, or an editor.

Once you have a good attic.list file you could use a for statement (in the
ksh) to remove each tag.

First do this statement to check the contents of your attic.list file and
the syntax of your typing.
Note, the back tics around cat attic.list

  for file in `cat attic.list`; do echo "== $file =="; done

If it echo the names of the files you want, add in a cvs rtag -d portion.

  for file in `cat attic.list`; do echo "== $file =="; cvs rtag -d TEST
$file; done

and do it again for remove the LIVE tag

Hope my assumptions were correct.

Dale Miller

-----Original Message-----
From: Brian Blignaut
Sent: Wednesday, October 20, 2004 9:09 AM
To: address@hidden
Subject: Build environments using CVS

Firstly let me say that if this is not the appropriate place to ask this
question I apologize, I am just not sure where else to post. I am trying to
setup a build process that works with CVS tags and am having a bit of a
The Build Environment

1. Development - developer's adding/changing/fixing code
2. Testing - with software testers, and test data - TEST tag
3. Release - Software built for release to client - LIVE tag

The Problem

Deleting files from CVS retains the TEST, LIVE tags.  As a result the files
that not meant to be built are being included in TEST, LIVE builds.

The Details
What I am trying to achieve is the ability to prevent files from entering
the "Testing" and hence "Release" phases. So developers can make changes to
existing source files and be confident that their changes will not be built
into the "Testing" and "Release" phases until they are satisfied with the
The problem I am having is that when files are deleted, they still retain
their TEST or LIVE tags and as such are updated in to the "Testing" and
"Release" environments, when this is not desired. I understand that this is
correct (and essential) CVS behavior, but is there anyway around this? Or is
there another way to implement what I am trying to achieve. I have read the
branches should be used for releases, but this still leaves me with the
problem of not being able to selectively exclude files from the "Testing"
and "Release" environments.
Any help would be greatly appreciated.
Yours truly,

reply via email to

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