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.

Version Control - are you using it?

Warwick Harvey <warwick@cs.mu.OZ.AU>

Linux Users of Victoria meeting
Tuesday, 3rd June 1997

What is version control?

Why use version control?

Systems for version control - RCS


Basic operations

Check out - "co <file>" Check in - "ci <file>" View log - "rlog <file>" Compare versions - "rcsdiff <file>"

Other operations

Merge versions - "rcsmerge" Identify keyword strings - "ident"

Version numbering

Drawbacks with RCS

Systems for version control - CVS


Basic 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>" Release a local copy - "cvs release" View log - "cvs log [<files>]" View changes - "cvs diff [<files>]" File status - "cvs status [<files>]"

Other operations

Import files - "cvs import <repository> <vendortag> <releasetag>" Export files - "cvs export" Initialise a repository - "cvs init" Tag files - "cvs tag <tag> [<files>]" Annotate files - "cvs annotate <files>"

Miscellaneous features

Lists files that should be ignored by CVS (wildcards accepted)
Much more can be done with modules than has been covered here
E.g. can define commands to be run on commit, etc.
Repositories on remote machines
Access to repositories on remote machines can be arranged via
Info pages

Where to get them

Original source

Closing comments