School of Computer Science Subversion Service

n.b. Information on the old, staff-only service is available here.The old service will be retired shortly.

Subversion is a versioning control system that "is very similar to CVS, but fixes many things that are broken".

The School provides a subversion service that is available to staff and students. Students are required to use subversion for version control with their final projects.

The free subversion book is essential reading for Subversion users.
The mailing list users@subversion.tigris.org is another useful resource - a list archive is also available.

Project students

Project students should have a repository created automatically. The student project work repositories are setup so that the student has read/write access to the repository and so that people involved in assessing the project work have read access.

The address of the project repository will be of the form

https://codex.cs.bham.ac.uk/svn/projects/ACADEMIC_YEAR/USERNAME

e.g.

https://codex.cs.bham.ac.uk/svn/projects/2010/abc123

Use your standard School username/password to access the repository.


General subversion service

Remember, project students should use the automatically created project repository as described above.

Setup and configuration of the School's subversion service is carried out through web interfaces.
To access the subversion administration interface, go to:
https://codex.cs.bham.ac.uk/svnadmin
You will be asked for you username and password - you should use your School of Computer Science username and password and NOT the credentials provided by IT Services.

You will then be given the option to create a subversion repository, or to manage your existing repositories. If this is the first repository that you are creating on the server, you may have to wait for a minute of two for the server configuration files to be updated.

Please note the following:

  • Taught students may only create Subversion repositories which are accessible to members of the School.
  • All repositories require authenticated access - repositories with anonymous access are not permitted.
  • Access to repositories is only available by HTTPS - i.e. using SSL web access
  • There is a disk space quota on the subversion server - you will receive a warning if you are approaching the limit. Try to avoid commiting large binary files to your repository as this will use up unneccesary disk space.


Create a repository

Remember, project repositories should be automatically created by the system with appropriate access privileges. This section deals with the creation of 'general purpose' repositories.

Click on the "Create a repository" link. Enter a name for the repository in the text box provided - repository names may only contain numbers and letters. Click on the "Create repository" button. If all goes well, you should be presented with a "Creation Succeeded" message that also provides you with the address of the repository - something like

https://codex.cs.bham.ac.uk/svn/YourUserName/YourRepositoryName/
If you follow the link provided in your web browser you should see something similar to this: Revision 0
This indicates that the initial repository creation has been successful.




Managing repositories

Using the "Manage my repositories" link take you to a page that shows your cu rrent repositories - it should look something like this:
Management interface pic
ture 1

The "Delete" button will remove the selected repository once you provide confirmation that you really do wish to delete it.

"Change email notification" allows you to add one or more email addresses that will be notified whenever a 'commit' to a repository is made. Please use this facility with care...

You can also apply access control rules to your subversion repositories - there are examples available at
https://codex.cs.bham.ac.uk/svnadmin/editfile.php?editfile=access

They can be implemented through the web interface on that page.

All users can add permissions for other members of the School to access their repositories using their School usernames. Staff are able to add "outside"' users to their access control list. Please note that standard Computer Science usernames are checked before users on the access control list, so repository usernames should not clash with standard names as behaviour may be unreliable.

The username / password file for local users is accessed at https://codex.cs.bham.ac.uk/svnadmin/editfile.php?editfile=passwd

There is an online version of htpasswd available at https://codex.cs.bham.ac.uk/svnadmin/htpasswd.php to generate passwords for use in the password file.

External users can try the generally accessible version https://codex.cs.bham.ac.uk/htpasswd/ to generate passwords for use in the password file. They will need to send the encrypted version to the repository maintainer.

The username / password will look something like
username:encrypted_password

Accessing the repository service

You can only access your repositories via https. This helps to keep your data and repository password information encrypted during transmission e.g..
svn checkout https://codex.cs.bham.ac.uk/svn/YourUserName/YourRepositoryName/

Using subversion

The main source of documentation on using subversion is the subversion redbook. We have a very short quick start guide to show how to carry out some simple tasks.

Subversion clients

There are a number of subversion clients available. See http://subversion.tigris.org/project_links.html.
Tortoisesvn is popular under Windows. Linux distributions come with a commandline svn client.