Maths subversion servers

Some background to this service

In mid-February 2011, an experimental server was set up to provide a repository for a single user, with the added feature of using standard http: web protocols to access the repository. This proved successful but was only capable of supporting a single user owing to permissions issues and the fact that SVN is not designed for multi-user environments; as there was some interest from several users in the Maths department for SVN facilities, work began in April on a multi-user, multi-repository version that would also be accessible from outside the college and not require users to have Imperial College computer accounts in order to use it. This went 'live' in mid-May and we currently have two SVN servers - the original single-user server will eventually be shut down and discontinued when the present sole user has finished using it; all new repositories and user accounts are now being set up on the multi-user SVN server.

This service has now matured into a supported production service that is also used by other departments in the college.

What is subversion?

A successor to CVS, the well known open source Concurrent Versions System, it is intended as a repository for just about any project that is being worked on by more than one person and tracks changes to files, allows users to check out files to be worked on and then written back to the repository when the user has finished with them in such a way that any changes made will not overwrite (or be overwritten by) another user's changes that coincidentally have been made at the same time to another copy of the same file. Subversion and CVS servers are quite complex and discussion of these is beyond the scope of this announcement but Cambridge Computer Laboratory have a good article on what it does and how it is used while one of subversion's original developers at Collabnet looks at subversion from the perspectives of the different types of user who may be using a subversion system.

How do I use it?

You may either decide to set up a repository for your own project or you might be invited by someone else - for example, someone you are working with on a project, a paper, a book, software, web pages, etc - to use their repository. In the latter case the owner will give you a username and password to be able to access it at the URL:

where repository is the name of the repository.

Subversion servers are normally accessed either through a dedicated subversion client such as TortoiseSVN, Aqua Data Studio, Trac for Windows or Versions, SmartSVN, ZigVersion for the Mac and plain svn for Linux and UNIX systems, or by a higher-level application such as Adobe's DreamWeaver which has support for working directly with SVN servers.

I want to set up a repository - what next?

Setting up SVN repositories is rather more involved than simply uploading a bunch of files so in the first instance contact Andy Thomas to arrange for an account to be set up for you on the subversion server. Once set up, you can upload the data you want to put into your repository to the server and it is fairly easy to manage and maintain yourself.

Andy Thomas

Research Computing Officer,
Department of Mathematics

last updated: 19.09.2012