SVN on Dreamhost

How to setup and use Subversion on Dreamhost

In 2000, CollabNet started a project named Subversion. They wanted an open source version control system and weren't happy with the leading tool at the time — CVS.

Subversion had a saner interface, additional features, and less bugs. It quickly rose in popularity among software developers. In 2009, Subversion was accepted into the Apache Incubator.

While many developers are using distributed version control systems now, Subversion — or svn — still ranks among the most popular for version control. It's widely supported and included on all Dreamhost servers.

Why Dreamhost is ideal for Subversion hosting

Two words: Unlimited Storage. Dreamhost is a terrific place to host your project repositories because there's no limit to the number of repositories, repository size, or number of repository users.

Already using Dreamhost to host your website? Even better! It's practically like having a free place to store your source code. Due to there flat monthly fee structure, Dreamhost is the most inexpensive place for private Subversion storage.

Getting started with SVN

The Subversion binary — svn — is installed by default on Dreamhost servers since 2007. Try it out:

$ svn --help

To start a new project locally:

$ svn import myrepo file:///path/to/home/myrepo

You can also use the svnadmin command on the server:

$ svnadmin create /path/to/home/myrepo

Using Subversion is very easy over secure shell and using the ssh protocol. To checkout the project from your local machine:

$ svn checkout svn+ssh://user@domain/path/to/home/myrepo

Authentication piggybacks on ssh authentication and file system authorization. To add a user, simply use the Dreamhost control panel to add a SSH user. To give that user access to your repository, simply use a new group and give permission to that group to access the repository directory.

What about HTTP?

Dreamhost's control panel actually has a section dedicated to Subversion. From here, you can create/administer your Subversion repositories without ever touching the command line.

You'll also be able to use their point and click interface to setup WebDAV. This lets you server your Subversion repositories over HTTP instead of SSH. User management and permissions will have to be done on the control panel instead of through an SSH connection.

Other hosting services

Dreamhost is a great shared host to use, but if you're still on the fence you can find more options at Django Hosting.