CVS: Concurrent Versions System

CVS is a system that lets groups of people work simultaneously on groups of files. CERN has a Web site with general information on CVS. CVS provides a network-transparent way for developers to share source control management. It is the most widely used open-source version control software. For more information on CVS, please see the CVS Web site.

WebCvs for browsing source code and easy downloads

If you want to browse the code and only make occasional downloads, you may want to use WebCVS. It provides a convenient, Web-based interface for browsing and downloading the latest version of the source code and documentation. You can also view each file's revision history, display the differences between individual revisions, determine which revisions were part of which official release, and more.

CVS clients for advanced source code manipulation

If you will be doing serious work on the source code, you should probably install a CVS client on your own machine so that you can do batch operations without going through the WebCVS interface. On Windows, we suggest the WinCVS client. For UNIX users, select the appropriate client. An alternative environment for those working on windows but more comfortable with a POSIX environment (like Unix) is the Cygwin tool-chain which includes CVS as well as bash, the GNU C/C++ compiler, linker, and debugger, and some common libraries.

Example commands to create a local replica of the master source tree

First you'll need to setup the correct environment for CVS, this is platform dependent, so first in a POSIX environment try:

setenv CVSROOT :pserver:anonymous@cvs.sourceforge.net/cvsroot/jikes


CVSROOT=:pserver:anonymous@cvs.sourceforge.net/cvsroot/jikes; export CVSROOT

Note that the exact syntax of the setenv command is shell specific. :(
If you are a Windows user, you may want to do something like:

set CVSROOT=:pserver:anonymous@cvs.sourceforge.net:/cvsroot/jikes
set homedrive=c:
set homepath=\cvs

The next step is to extract a copy of the modules you are interested in, again this is common to all command line oriented cvs programs. The following will extract the sources and build environment for the Jikes Project:

cvs checkout jikes

The following will extract the sources and documentation for our sister project: "Jacks". You'll want to look at this if you plan to submit a bug report as few bugs are solved without a recreatable testcase, or a patch as very few patches are accepted without a regression test (which can often be the testcase for the bug you're patching)

cvs checkout jacks

At this point you should have a jikes directory and/or a jacks directory in your current working directory which contains an exact copy of the current source tree for either project. In the future you can update your copy of the tree by changing into the directory in question and issuing the following command:

cvs update

You will not need to re-establish the CVSROOT, as it will be stored in the data that is extracted; similarly you should not need to re-login either; however, your cvs client may not maintain the login status.

Additional CVS Resources:

IBM - Developer Works - Open Source Software - Jikes Project : Jikes' Home

/cvs-begin.shtml last modified on Sunday, 20-Feb-2005 23:12:32 UTC,
send reports of website distress to: jikes-dev.

Valid HTML 4.01! Valid CSS! SourceForge.net Logo