Version control system
Version control systems allow you to manage changes to data in such a way that everyone is kept up-to-date and any unwanted changes can be rolled back to a previous working version. It is frequently used between software developers to share development code but it can be used to manage any type of data.
The system is used throughout the University. Most Computer Science students are advised to use it for their collaborative projects and the Web Services Team have been using a version control system to keep track of projects ranging from one-person Dreamweaver projects to multiple-person large-scale web applications for several years now.
Subversion
Subversion is a popular open source version control system that was chosen because our developers had a lot of experience with CVS and because it is a well-tested system used by a lot of much larger projects with a very active development team who are releasing new and improved versions all the time. The pages here will explain how to set up a Subversion repository and where to go for help.
CVS users
Subversion was written specifically to correct many of the limitations caused by CVS. If you use CVS as your current version control system, you will find it very easy to switch to using Subversion. If you would like to convert your CVS repository to a Subversion repository then this is easy for us to do. Please contact us using the online help form to discuss your requirements.
Creating a repository
You will need to fill out our repository request form indicating the name and description of your project and the BUCS usernames of the people you need to give access to the repository.
Repository access
By default no-one has access to the repository and members have full read-write access to that repository, however access can be more refined if required.
Connecting to your Subversion repository
The address to connect to is:
https://vcs.bath.ac.uk/svn/<name of repository>
(please note the repository path is prefixed by /svn - this has caught people out)
Recommended Subversion clients
There are a number of clients available to access Subversion repositories:
- Tortoise SVN - download from http://tortoisesvn.net/downloads.html
Tortoise SVN integrates with Windows Explorer and allows you to use Explorer to check out SVN repositories, commit them and see who has been editing files within the repositories. It is a graphical client and uses common Windows techniques so it is very intuitive and easy to pick up. Please note you will not be able to install the Tortoise SVN client on any Library PCs
- svn client for Unix - log into the user service machines
The Subversion client has been installed onto birch and larch. This allows you to access your repository using the command-line tool. You will need to check out your project to somewhere on your home space (referred to as your H: drive in Windows). This will be the easiest way to access your repository if you are working in the Library. Basic details on usage are available on the wiki.
- SmartSVN - download from www.smartsvn.com
SmartSVN is a Java application that can browse and manipulate your repository. It draws a line between editing the local files and doing all the repository administration of checking out, committing and looking at logs. The interface encourages users to see the files as members of a repository rather than files on a disk and this should make it less tempting to just move and copy files within the repository at the OS level which causes Subversion to lose track of these files. As it is a Java application it is a GUI that will work on several operating systems, including Windows, Mac and Unix
SmartSVN is installed onto all the Public Access PCs [1] in the Library and general teaching labs for those who want to use a graphical interface client on campus. It is also installed on the Windows Terminal Servers.
For Apple Mac
- SCPlugin - provides Tortoise-like functionality. Download from http://scplugin.tigris.org/
The goal of the SCPlugin project is to integrate Subversion into the Mac OS X Finder. The inspiration for this project came from the TortoiseSVN project.
- svnX - standalone SVN client. Download from www.lachoseinteractive.net
Gives you a nice Graphical User Interface (GUI) to all the features of Subversion as a standalone OS X application.
[1] Software installed under Start Menu | All Programs | Departments | Computer Science