Source code version control: CVS

About CVS
  A version control primer (basic concepts)
Accessing a project's CVS repository
  CVS How-Two command-line example
  Source code browsing
Further CVS documentation

About CVS

The Concurrent Versions System (CVS) is a version control system for keeping track of all modifications to project source code files. CVS is widely used in both open source and proprietary software development projects, and is generally considered to be the best freely available, full-featured version control tool. Two special features make CVS particularly suited to collaborative development across the Internet:

1. The use of file merging rather than locking. File locking prohibits other developers from accessing a file when someone else has checked it out. CVS allows a multiple check-outs of a single file, and then combines all the changes.

2. Remote access to source code file repositories. Developers can obtain and modify project files from virtually anywhere.

CVS is a client-server system. The CVS repository is maintained on a web server; clients run on users' machines and connect to the server via the Internet. Clients are available for nearly all platforms including: UNIX, Windows, Macintosh, and any Java-based platform.

CVS allows you to:

- Check out source files and directories
- View differences between versions
- View change log comments
- Commit changes made in your local copy of the source files to the main source code repository
- Do many other tasks; see links below

Accessing your project's CVS repository

For instructions on using CVS for a specific project:

1. From your Project Home page, click on Source Code in the project menu
2. Choose whether to download source code archives, browse the CVS repository, or to of how to checkout CVS project/module files, which includes the location of your project's repository (CVSROOT).

> For command-line access to the CVS source code repository, use the following CVSROOT:

> The proper CVSROOT is then:

> :pserver:USERNAME@cvsPROJECT_NAME.sunsource.net:/cvs

> Read the "source/CVS" page for each project and/or component to learn how the source code is organized into CVS modules. For example, to get the source code for a module ("MODULE_NAME") in your project ("PROJECT_NAME"), you should checkout "MODULE_NAME/PROJECT_NAME". This is the top-level module containing the entire source code tree for that particular module. Other modules may contain the documentation and web site files associated with this module.

Further CVS Documentation

- CVS Manual
- CVS Home Page at Cyclic
- Pascal Molli's CVS page
- CVS Page on Dmoz

CVS Clients

- Command line clients for many systems
- WinCVS: a Windows CVS client
- jCVS: a Java CVS client
- Cervisia: a KDE CVS Client

CVS Books

- Practical Software Configuration Management
- Open Source Development with CVS (many chapters free online)