Practical Software Configuration
Management
The book Practical Software Configuration
Management by Tim Mikkelsen and Suzanne Pherigo,
1997, gets individuals and small teams started with
configuration management. The CD-ROM which accompanies
the book includes a copy of CVS, including binaries for
Windows 95/NT.
CVS Documentation on the Book's CD-ROM:
The documentation for CVS is on the CD-ROM which comes
with the book. Here are a few notes about what is there.
For most purposes the manual you want is Version
Management with CVS by Per Cederqvist et al;
it is about 160 pages long.
The manual is available in several formats:
- PostScript
-
The file
cvs/cvs.ps contains the manual
for CVS 1.9 (not 1.8 as the book says
). The manual is
formatted for A4 size paper; if you print it on US
letter size paper, typically the page numbers will be
cut off. The CD-ROM does not contain a version
formatted for US letter size paper, but see the
Texinfo files, below.
- info
-
info is the GNU system's format for on-line
documentation. The GNU Emacs development environment
contains a browser for info files; there is
also a stand-alone browser program.
The info files are on the CD-ROM in the
cvs/cvs-1.9/cvs-1.9/doc directory. The
info files are cvs.info and
cvs.info-n (where n is 1
through 6).
- Texinfo
- The source for the manual is in Texinfo format,
from which you can build on-line documentation or a
PostScript file for printing. If you are not familiar
with texinfo, you probably don't want to try to figure
out how to get a set of texinfo tools just to build the
manual (especially on non-unix systems), but in case it
is helpful the texinfo-format manual is on the CD-ROM,
in
cvs/cvs-1.9/cvs-1.9/doc/cvs.texinfo.
The Book's CD-ROM and Long File
Names:
The book's CD-ROM uses the Windows conventions for
long file names. Therefore, if you read the CD-ROM on a
non-Windows system, many of the files will have names
like cvs-pa~1.ps instead of
cvs-paper.ps. On such systems, you may find
it more convenient to unpack the tar files on the CD-ROM
(which do not suffer from this problem) rather than to
try to figure out the correspondence between short and
long file names.
Clarifications to the Installation
Instructions:
The installation instructions printed in the book are
the place to start, but here are a few notes to
supplement those instructions:
- The directions tell you to edit
autoexec.bat. This file may not already
exist on Windows 95. Don't panic, just create
c:\autoexec.bat and add the indicated
text.
- The CD-ROM actually contains two ports of RCS 5.7,
one in the
rcs directory, and one in
cvs/winnt/rcs57nt.zip. We recommend the
latter, because when we tried the former it sometimes
failed with "could not check out filename"
messages.
-
The directions for installing CVS refer you to the
INSTALL file. Because many parts of that
file concern unix or rebuilding from source code,
here is a rewritten version of the relevant ports of
the file as they apply to Windows 95/NT. Because your
CD-ROM already contains executables, there is
normally no need to build from source code.
-
Take a look at the CVS documentation. The best
source is the Cederqvist manual on the CD-ROM, as
described above.
See what it can do for you, and if it fits
your environment (or can possibly be made to fit
your environment). If things look good, continue
on...
-
Set up the master source repository. See the
"Setting up the repository" section of the
Cederqvist manual for details; the quick summary
is just to pick some directory. We'll use
d:\src\master as an example. In this
and subsequent examples we use ">" to indicate
the command prompt; do not type the ">".
> cvs -d :local:d:\src\master
init
-
Have all users of the CVS system set the CVSROOT
environment variable appropriately to reflect the
placement of your source repository. Supposing
the repository will be in
d:\src\master, place the following
line in c:\autoexec.bat. On Windows
95, autoexec.bat might not already exist. In that
case, just create a new file containing the
following line.
set CVSROOT=:local:d:\src\master
If the CVSROOT variable is not already set in
your current command environment, set it now by
typing the above line at the command prompt (or
reboot).
You will need to have the CVSROOT environment
variable set to continue on to the next step.
-
It might be a good idea to jump right in and put
the CVS source distribution directly under CVS
control. Supposing that the CD-ROM is mounted as
the
e: drive, you would run:
> e:
> cd \cvs\cvs-1.9\cvs-1.9
> cvs import -m "CVS distribution" ccvs
CVS_DIST CVS-TEST
(Those last three items are, respectively, a
repository location, a "vendor tag", and a
"release tag". You don't need to understand them
yet, but read the section "Starting new projects"
in the Cederqvist manual for details).
-
Having done the previous step, one should be able
to checkout a fresh copy of the CVS distribution
and hack away at the sources with the following
command:
> c:
> cd \joe
> cvs checkout ccvs
This will make the directory "ccvs" in the
directory c:\joe and populate it
with the appropriate CVS files and
directories.
- You may wish to customize the various
administrative files, in particular modules. See
the Cederqvist manual for details.
- Read the NEWS file to see what's new.
- Hack away.
- You need to make sure that the system doesn't think
that you have an empty login name, or else you may get
"missing author" messages and other strange behaviors.
Note that setting the USER environment variable does
not consistently override the system login name.
- If you do not have a
c:\temp
directory, RCS will give an error. One solution is to
create c:\temp, or if you want RCS to put
temporary files in a different directory, set the
TMPDIR environment variable to point to that
directory.
Errata:
Page 191 says there are no RCS web pages. In fact,
there are many. See our RCS page.
Getting Help:
For help using CVS, bug-fixing, and other forms of
support, we'd recommend either poking around this website
and the resources it links to, or investigating a support
contract from Cyclic, depending on your needs. Support
contracts are described elsewhere on this website, or ask
us for more information.
|