Published on ThoughtShapes (http://thoughtshapes.com) © ThoughtShapes, Inc.

Choosing a Transport Protocol for Subversion

By Rjae Easton
Created 10/08/2007 - 12:48pm

I would like to access SVN over web to a remote server. Can you send some information whether to use SSH or Apache over web?

Transport Protocol

How to expose Subversion repositories over the Internet depends largely on the category of service you intend to provide. The following table indicates what transport protocol option is best suited for common categories of service.

  Open Source Corporate Startup
SVN      
HTTP      
SSH      

Let’s look a little deeper into each transport protocol and why it should be targeted to a given category of service.

SVN

The main advantage of the svn transport protocol option is speed. The main drawback of this option is that it is inherently insecure. Thus it seems the ideal choice for any situation in which a VPN is in use e.g. corporate service. If security is not a requirement then this is your best bet.

HTTP

The main advantage of using the svn+http transport protocol option is ease of installation/administration as well as speed of service (unless HTTPS is used). The main drawback of this option is that Apache is required because no extensions have been written for IIS. Thus a dedicated server will be needed or where a server is running both IIS and Apache, one will have to run on a non-standard port e.g. 8080.

SSH

The main advantage of using the svn+ssh transport protocol option is security. For environments where security is required yet a VPN is not in use then this is a great option. The main drawbacks of this option are complexity of installation/administration as well as speed of service.

Operating System

Another variable to consider is which operating system should act as host for Subversion. The most common choices are Windows and Linux. The advantages and disadvantages of each are detailed below.

Windows

Windows generally means easier installation/administration. There is one exception: SSH. Additional components are required to support SSH on Windows. If you are interested in using SSH on Windows these are some of your options:

Linux

Those comfortable with Linux will disagree that Windows is easier for installation/administration. If you are already a Linux shop, or have significant Linux deployed in your organization then you should seriously consider hosting Subversion on Linux. The main advantage that cannot be disputed is the ease of SSH deployment on Linux. SSH is in widespread use throughout the Linux world.

TortoiseSVN

My next post [3] will cover how to configure svn+ssh transport on Windows.


Source URL:
http://thoughtshapes.com/node/63