Subversion hide repository path

svn

Solution

Reading carefully through the official SVN documentation I have found that when accessing subversion over svn+ssh -- then a separate svnserve process is spawned for every connection. Thus the trick is to

- Rename `svnserve` to `svnserve.bin`

- Create a file called `svnserve`

Add the following to its contents

#!/bin/sh
exec /usr/bin/svnserve.bin -r /home/svn "$@"

Thus the wrapper will be called everytime a server instance is needed. It will in turn init the server with a new root path.

Piece of cake!

Problem

How can I configure the subversion server to hide the full repository path from the outside world? For example, the repository lives under `/home/svn/foobar/` ... I want to access it via ssh as `svn+ssh://user@domain.com/foobar`.

Original source