Disclaimer: These notes were written as an aid to a talk, and were never intended to be self-contained. Thus there are many important things that have been left out. Read The Fine Manual.

An Introduction to CVS

Warwick Harvey


Linux Users of Victoria meeting

Tuesday, 7th December 1999

What is version control?

Why use version control?

Overview of CVS

Basic CVS operations

Checkout - "cvs checkout <modules>" Update - "cvs update [<files>]" Commit - "cvs commit [<files>]" Add file/directory - "cvs add <files>" Remove file/directory - "cvs remove <files>" View log - "cvs log [<files>]" File status - "cvs status [<files>]" View changes - "cvs diff [<files>]" Tag files - "cvs tag <tag> [<files>]"

Using remote repositories

CVS has several methods for accessing remote repositories. Here I cover just the two that I have used. See the CVS documentation for information about the others.

The `ext' access method

The `pserver' access method

Other CVS operations

Release a local copy - "cvs release" Import files - "cvs import <repository> <vendortag> <releasetag>" Export files - "cvs export" Initialise a repository - "cvs init" Annotate files - "cvs annotate <files>" Log out - "cvs logout"

More information

There are several places to get more information about CVS:

Where to get it

Original source
Source via CVS
cvs -d :pserver:anonymous@cvs.cyclic.com:/home2/cvsroot login
(password: guest)
cvs -d :pserver:anonymous@cvs.cyclic.com:/home2/cvsroot co ccvs
Red Hat binary i386 package (Monash University mirror)
Debian binary i386 package (Monash University mirror)
Debian binary i386 package ("unstable" version) (Monash University mirror)