Content Skeleton

This Page

Previous topic

SVN Serving

Next topic


SVN Server Overview

http, apache

Apache runs as nobody and writes into the repo:

[blyth@cms02 ~]$ ll /var/scm/repos/newtest/
total 72
-rw-r--r--  1 nobody nobody  229 May  1  2012 README.txt
drwxr-xr-x  2 nobody nobody 4096 May  1  2012 locks
drwxr-xr-x  2 nobody nobody 4096 May  1  2012 hooks
-r--r--r--  1 nobody nobody    2 May  1  2012 format
drwxr-xr-x  2 nobody nobody 4096 May  1  2012 dav
drwxr-xr-x  2 nobody nobody 4096 May  1  2012 conf
drwxr-xr-x  7 nobody nobody 4096 May  1  2012 .
drwxr-xr-x  8 nobody nobody 4096 May  7  2012 ..
drwxr-sr-x  5 nobody nobody 4096 Jul 30  2012 db

svn+ssh, svnserve

This can be configured to work in parallel with access via apache.

It works by ssh starting a temporary svnserve -t which runs as the user invoking the command. Thus lots of care needed to avoid permissions problems.


  1. potentially faster than http as more stateful
  2. historically C2 http has been unexplicably blocked for months at a time from N, this would provide a workaround
    • but looking into the issues, suspect that tunnelling http over ssh would be easier than diddling with temporary svnserve

svn+ssh trial


CAUTION potential to mess up repo permissions, restrict to test repos

[blyth@belle7 ~]$ svn co svn+ssh://
svn: Expected version '3' of repository; found version '5'

Adjusting PATH and LD_LIBRARY_PATH in C2:.cshrc did not resolve the reported incompatibility but it did change the svnserve version presumably being used:

[blyth@belle7 ~]$ ssh C2 "tcsh -c \"which svnserve\""
[blyth@belle7 ~]$ ssh C2 "tcsh -c \"which svnserve\""

Kinda difficult to debug as its a temporary tunnel.