Subject: Re: RCS in scientific programming

From: [email-masked]
Date: Mon, 20 Jul 1998 16:45:37 -0700 (PDT)

The source files for these versions differ from each
	other in relatively minor ways, but yet substantially enough that it
	would be too confusing to merge them all into a single source and use
	preprocessor switches to differentiate among the various versions.
	
	Needless to say, it quickly becomes difficult to keep track of all
	these similar source files.  I have heard repeatedly, both from
	scientific and "non-scientific" programmers that RCS is *the* tool to
	take care of this situation, but hard as I've tried, I've never
	managed to get RCS to work for me.  I just made another attempt to
	adopt RCS, and it foundered miserably on RCS's inability to deal
	gracefully with many *concurrent* versions, which are, generally, not
	related "vertically" to each other, but rather "horizontally" (if this
	makes any sense).  As far as I can understand, RCS will allow several,
	"non-vertically related" versions to be developed concurrently only
	through branching, which at every turn adds two version numbers per
	branching.  So, for example, if I have 4 slightly different versions
	of my code, and I want to continue developing each of them
	independently, then RCS forces me to branch thrice, and name the four
	versions something like 1.1, 1.1.1.1, 1.1.1.1.1.1, 1.1.1.1.1.1.1.1.
	This gets silly very fast.  (Or am I missing something?)

CVS may be the answer - it runs on top of RCS and
manages branching/merging for multiple developers;
its command interface obviates the need for human
tracking of version numbers. It may not handle the
desired parallel versions though. 

Other desirable features of CVS: it works over networks;
and the canonical version is pure RCS, i.e. no 'main'
directory one can work in, just a CVS/RCS tree to
check private copies out of and back into. And you
can check in a whole tree w/ 1 cmd from anyplace
("cvs commit ../../mydir").

At the very least, I'd encourage all linearly-oriented
RCS users to go to CVS.

Bill Ross