Training Missions

Missions: Using Subversion

Most open source projects keep their code in a version control system (VCS). Subversion is a popular VCS for open source projects. Subversion is a non-distributed VCS, meaning that there is a single central repository that all users and developers interact with.

A VCS tracks changes that are made to the code. Each change has a timestamp, an author name, and a log message associated with it. If two people modify the same file, the VCS catches this and merges both sets of changes; the second person is shown any conflicts that occur so the conflicts can be resolved. One can also look through the history of the codebase.

This mission consists of three parts: checking out a working copy, creating a diff of changes to a working copy, and committing changes.

Projects that use Subversion

There are too many to list. Thousands. Hundreds of thousands?

Other resources

  • To get Subversion for Windows download TortoiseSVN.
  • The Subversion Book has an excellent summary of the basic work cycle of a Subversion user.
  • Wikipedia has an article about it. Subversion's history as a project is quite interesting.
  • Many Subversion users chat using IRC in #svn on FreeNode.