tags:

views:

178

answers:

4

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://[email protected]/foobar

Thank you in advance

A: 

You can use HTTP(S) protocol instead of SSH. And then, configure Apache with any virtual directory you like.

Ivan Krechetov
+1  A: 

Use the --root option:

svnserve --root /home/svn
Michael Hackner
+2  A: 

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

  1. Rename svnserve to svnserve.bin
  2. Create a file called svnserve
  3. 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!

clops
+1  A: 

A blog post today went into some great detail about how to setup SSH access to SVN on a server.

http://blog.tampakrap.gr/subversion-setup-and-gorg/#utm_source=feed&utm_medium=feed&utm_campaign=feed

Jim T