Versioning Scheme

In this project there are two types of versions: revisions and releases.
Revisions describe committed changes to source files. Every time a
source file is committed to CVS it's revision is incremented. Releases
correspond to a "competition grade" collection of source
code. Competition grade means that the code would compile and run
in a competative robocup soccer match. Each increment in the release
number corresponds to the addition of a specific set of features.
The release number is stored as a CVS tag. See the Release
Plan for more information about the releases.

More About Revisions

The revision number is two positive integers concatenated with a
period. The left integer is the number of competitions that have passed
since the creation of the team. The right integer is the number of
CVS commited changes made to a file. This integer will be different
for most files. For example version 1.0 was the completed team for
the RoboCup 2001 competition. Subsequent committed changes of these
files will increment the rightmost number from 1.0 to 1.1 to 1.2,
etc. Version 2.0 will be the completed team for the Robocup 2002 competition.
Most of this versioning is automatically handled by CVS. Only the
right integer needs to be changed at the end of a year's competition
with the command cvs commit -r x.0. This command increments the revision
number to revision x.0 where x is some integer.

More About Releases

The release number is two positive integers concatenated with a
period. The left integer is the same as the left integer of the revision
number. The right integer corresponds to a small attainable addition
or modification to the team. It is assumed that these additions or
modifications make the team more competative. When one of us has completed
and tested the additions or modifications, the command cvs tag release-x-y
(where x and y are integers) updates the release number.