SVN

Quick tips on how to set up SVN server.

Quick reference also available here.

Installation files

If you use SVN Server installation from CollabNet you will get additional goodies, too. This installation already includes Apache server and will create services for both Apache and SVN daemon.

Install server

After installing, you can disable SVN daemon and leave only Apache running.

Set up repository

The easiest way to set up a repository is to use TortoiseSVN.

Authentication

Authentication can be set for one repository. Multiple repositories can share the same authentication database.

Windows Authentication

SSPI (Windows) authentication can be used with Apache.

<Location /svn>
   DAV svn
   SVNParentPath D:\SourceCode
   #authentication
   AuthName "Subversion"
   AuthType SSPI 
   SSPIAuth On 
   SSPIAuthoritative On 
   SSPIDomain VE
   SSPIOfferBasic On
   require valid-user 
   # authorization
   AuthzSVNAccessFile "D:/SourceCode/authorization.conf"
</Location>

Authorization

Path-based authorization is controlled through authz file.

If you are using Windows authentication then authorization is set by specifying authorization file in Apache's httpd.conf. There you can specify to use authorization.conf as the authorization file.

The syntax of the authorization file is identical to authz file. The following contents allow full access to all authenticated users and read-only access to any other user.

[/]
* = r
$authenticated = rw