Introduction to Subversion

From SourceWiki
Jump to: navigation, search

Subversion is an open-source centralised Version control system. The web page for the Subversion project is

Why Subversion?

Subversion is very similar to the better known CVS system however, Subversion has several neat advantages over CVS:

  • files and directory can be renamed and keep their history throughout the life of the project.
  • commits are atomic, i.e. when you sent a lot of changes to the server, the "commit" is either successful or not. For instance, if the network connection is lost halfway through the transaction, the whole commit fail and the repository is not affected. It also means that you can identify very easily all files changed during a commit.
  • a wider choice of access methods is provided, in particular webdav allows easy access via a web browser.
  • support for binary files, i.e. Word documents or Excel spreadsheets can be versioned via Subversion.

This is why we chose to install Subversion as the version control system on source. Subversion is actually being developed as a modern successor for CVS and it makes sense to standardise on a more modern technology. Current CVS user will become familiar very quickly with Subversion and new users should not find it any harder to learn.

source: our Subversion server

source is a Subversion server that is available for the geographers at Bristol University who are interested in using Version Control for their project. Your projects can be hosted on source in the Subversion system and we can give login to your collaborators so that they can access your code from anywhere with an Internet connection. The access control is very good and it is easy to lock some part of your project to a limited subset of developers for instance.

More information about source.

An example: myproject

myproject is an example repository that is setup on source to test subversion. You can access it with a web browser at the URL using your login and password. If you do not have an account on source, use the combination guest / imaguest. Click myproject and then naviguate to the trunk/ directory and look at the files, the log and other links to get familiar with the interface.

If you have downloaded a subversion client, you can use myproject as a test repository and send your own changes. To do this, use the URL and checkout myproject. You can then edit the files in your working copy and send the changes back to the server by "commiting" your changes.

More about Subversion

To find out more about Subversion, we suggest you play with the myproject example for a while and look at some more specific Subversion concepts. The links section contains links to documentation and Subversion clients that you can download to your computer.

The slides from the Subversion workshop are also available [ pdf ]. They contain an introduction to version control, the Subversion terminology and an quick overview of some of the clients.