short answer is that for every "release" it is typical to create a branch, and
for each version of a release sent out you normally create a tag. Both are
managed using the "cvs tag" command.
I strongly suggest you get a copy of a book
about CVS and read up about less technical topics and more about "how to"
stuff. Implementing a CM system is more than simply checking in and
checking out as you have discovered.
"Essential CVS" is available through Amazon and is a great book.
About CVS" is an electronic book that I helped author and focuses a little more
on where CVS fits into CM and covers windows clients like TortoiseCVS and WinCVS
as well as unix command line client and is available through the march-hare.com
I'm familiar with basic CVS
functioning, but when it comes to managing 'releases', etc., I'm still a
Here's my situation:
I have a module which represents a project I'm working on containing a
set of files. I have completely rewritten the 'project', however, so the
project as it 'used to be' (ie: the old files) are no longer necessary and I'd
like to replace them with the set of new files (the project 'as it is').. but
I obviously want to keep the old files in history. I'm not really sure
how best to go about this. Should I 'cvs remove' the older files and
then add the new files under a new release tag? Basically I'd like to be
able to go back at any time and retrieve either the older version of the
project or the current one according to a release tag (say, beta 1 or beta
Can anyone share with me the what the 'conventional' way of doing this
Assistant, Genomics Team
Medical Research Center (NMRC)
Defense Research Directorate (BDRD)
Washington Avenue, 2nd Floor
301-231-6700 Ext 270