Members Only
About Us

Home > Documentation > Versioning

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.

©2002 University of Virginia Deparment of Computer Science
Have questions? Email David Evans