Using the Subversion version control system on Athena

Date: 2006-08-06
Revision: 6

What is Subversion?

Subversion is a free/open-source version control system. That is, Subversion manages files and directories over time. A tree of files is placed into a central repository. The repository is much like an ordinary file server, except that it remembers every change ever made to your files and directories. This allows you to recover older versions of your data, or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of "time machine".

Subversion can access its repository across networks, which allows it to be used by people on different computers. At some level, the ability for various people to modify and manage the same set of data from their respective locations fosters collaboration. Progress can occur more quickly without a single conduit through which all modifications must occur. And because the work is versioned, you need not fear that quality is the trade-off for losing that conduit --- if some incorrect change is made to the data, just undo that change.

Some version control systems are also software configuration management systems. These systems are specifically tailored to manage trees of source code, and have many features that are specific to software development --- such as natively understanding programming languages, or supplying tools for building software. Subversion, however, is not one of these systems. It is a general system that can be used to manage any collection of files. For you, those files might be source code --- for others, anything from grocery shopping lists to digital video mixdowns and beyond.

For more information on using Subversion, SIPB recommends the excellent book "Version Control with Subversion", available for free at http://svnbook.red-bean.com/. In fact, the previous three paragraphs were borrowed from its introduction (the book is available under a Creative Commons Attribution License). The rest of this document specifically tells you how to effectively use Subversion on Athena.