CVS Version Control

The latest released version of CVS is 1.10; you can find sources at the SourceGear site, along with Windows binaries. We have local copies of version 1.9 for both Unix and Windows platforms.

Why CVS?

CVS is our preferred tool for software version control. It supports simultaneous development by multiple programmers at remote sites. There is full support for shared remote code repositories. Unlike SCCS, it is freely availible for almost all platforms. Unlike RCS, it uses a merging rather than a locking mechanism to support multiple developers.

Other information on cvs is maintained on Pascal.Molli's pages.

CVS Documentation

We have the principal dicumentation for "cvs" and its support programs "rcs", "diff" and "patch" in both postscript and HTML form.

Installing CVS

The version of CVS here is 1.9. This in turn depends on RCS version 5.7 and requires capable versions of "diff", "diff3" and "patch" . Problems with the compatability of these support programs can arise; it is probably best for you to install all the binaries from our distribution in your path ahead of other programs of the same name.

Linux

CVS and all its support programs are included in most Linux distributions, including Redhat; Linux system owners should be able to install the distribution binaries without difficulty.

Windows NT/Windows 95

You can find executable binaries here---they were copied from the Cyclic Software site. Download them into an appropriate directiory on your PATH.

SUNOS 4

You can find executable binaries here---they were copied from the Cyclic Software site. Download them into an appropriate directiory on your PATH.

AIX

You can find executable binaries here---they were copied from the Cyclic Software site, apart from cvs itself which was compiled here at Southampton. Download them into an appropriate directiory on your PATH.

Other systems

You should have little difficulty in building CVS from this set of sources. It is important to install them in the order diff, patch, rcs, cvs so that the higher layers find the correct versions of the underlying layers. The support programs are here and CVS itself is here. Members of HPCI consortia should contact Denis Nicole if further assistance is required.

Using Remote Repositories

In order to use CVS you need to set the CVSROOT environment variable. For a local repository, on your own workstation, this is just a directory path. For a remote repository, it is a string of the form user@host:directory. Before trying to use the remote repository we suggest you run three test commands. The first is:

rsh -l user host which cvs

This should result in a single line of output, the full path for cvs on the remote server. A line of the form:

rshd: 0826-811 The remote user login is not correct.

indicates that the server did not recognise your user name or host. You should contact the server manager. A line of the form:

which: 0652-141 There is no cvs in ....

indicates that the user path is not correctly set up on the server. Again, contact the server manager. Finally, additional lines in the output indicate a bad .cshrc file at the server. Again, contact the server manager.

The second test ensures that you are picking up the right version of diff:

rsh -l user host diff -v

which should result in a version line from gnu diff:

diff - GNU diffutils version 2.7

An error message usually means that the wrong version of diff is earlier in the path of user at server.

The final test checks the repository structure. Run the command:

rsh -l user host ls directory

which should give a listing of the top level directory of the repository. Ensure that the right top-level names are listed.


Denis A Nicole