Change and Release Management with Subversion - Getting Started with Subversion
Written by Sam Moffatt   
Thursday, 07 June 2007 11:41
Article Index
Change and Release Management with Subversion
Getting Started
Repository Layout
Change and Release Management
Concepts and Notes
All Pages

Getting started with Subversion

One of the greatest advantages of Subversions is the ubiquity with which Subversion client software is available. Interfaces exist for web based management (Insurrection) and access (builtin), GUI access (eSVN, svnx), integrated file browser access (TortoiseSVN) and command line access (builtin). This means that there are a number of options available to use without running into great issues with compatibility.

Subversion command line

By default the subversion client is command line based. This means that for any command line orientated system (particularly Unix based systems), most administrators will feel at home. This however isn't the only option as there are many clients available (both free and nonfree) to manage the client side of the Subversion repository. The command line client completes all tasks that the graphical clients can.


eSVN is a KDE based SVN client running primarily on Linux. eSVN supports 'workspaces' which manage multiple Subversion locations in a central environment. eSVN follows a similar methodology as Cervisia, the KDE CVS client, but extends the idea by controlling multiple working directories in one workspace. 


svnX is a Mac SVN client that is basically a simple front end to the command line client. While it doesn't provide too many advanced features, it provides a simple GUI to manage commits, checkouts and multiple repositories and working directories.


TortoiseSVN is a Windows Explorer integrated client that allows a user to commit and checkout repositories directly from Windows Explorer. TortoiseSVN also has an integrated 'Repobrowser' that allows simple remote operations to be completed on Subversion repositories (e.g. adding or deleting folders). TortoiseSVN also powerfully enables much more rapid views of the file system by providing 'overlays' on top of the file/folder icons allowing a user to instantly see which files are up to date, in conflict, altered, new or unversioned. A similar tool exists for Mac OS X called SCPlugin that provides a similar function with reduced user friendliness and capabilities. Nautilus (GNOME/Linux) has available some scripts to make committing to repositories from folders easier but has no overlays (unlike TortoiseSVN or SCPlugin).


Subversion provides a basic HTML page in a similar fashion to the Apache DirectoryIndex directive, except more reduced again. This allows a user to slowly navigate around and download files with a traditional HTTP capable web browser.


Subversion provides an advanced WebDAV extension for Apache that allows tools such as Microsoft Web Folders, Mac OS X or cadaver (Linux command line DAV client) to manipulate the repository. This works in two modes: a read only and write capable mode. The default read only mode allows all of these 'basic' tools read access to the repository. They can complete copy operations and navigate it liek a normal folder. The second mode allows these clients write access. For each write to the DAV 'filesystem', a SVN commit is made to the repository. WebDAV is an extension of the HTTP protocol. For clients that understand Subverion's advanced WebDAV implementation (e.g. most Subversion clients), WebDAV/HTTP/HTTPS can be used as another commit source the same as using SVN+SSH or the pure SVNSERVE protocol.


Insurrection isn't actually a client in itself but provides are better interface to the normal HTTP output generated by Subversion. In additional to providing some nicer features to the standard HTTP front end, it also allows remote repository creation and management. It can create and edit repositories as well as editing a users access to the repository.

Last Updated on Monday, 22 February 2010 08:06