Ever "updated" a bot only to find that it performed worse and have a hard time getting back to where you were? If this describes you, then give CVS a look. It usually integrates with any IDE you might be using and client and servers are available for most any Operating System in existance. If you are just getting started a pretty good tutorial can be found at http://www.lns.cornell.edu/public/COMP/info/cvs/cvs_toc.html. jim

Now after all that I have a question for anyone that may be using this. I would like to start tagging my code for release. Does anyone have any pointers on how to tag it and check it back out again. I am not worried about branching and merging. I simply want to know what revisions made up a particular release of a bot. -- jim

Cool. This is highly interesting for me since I use CVS, but haven't got around to learn about tagging. Does this mean that once I've created a tag, then I can just add "-r <TAGNAME>" to my cvs commands and they will work on that tagged version only? Does it go for the commit command as well? How does this relate to branching? -- PEZ

-r is used to _retrieve_ a specific tag (by updating or checking out), if you want to change things, you need to create a branch. On a branch you can build upon an earlier tag by committing. (Note that a branch is also a tag that can be checked out or updated to, but be careful, because every commit to this file is committed on the branch). If the changes on the branch turn out to be worthwile you'll need to merge this version with the HEAD branch to bring them to the main trunk.