Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Subversion hide repository path

Tags:

svn

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.

like image 396
clops Avatar asked Jan 06 '10 14:01

clops


2 Answers

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!

like image 61
clops Avatar answered Oct 04 '22 05:10

clops


Use the --root option:

svnserve --root /home/svn
like image 27
Michael Hackner Avatar answered Oct 04 '22 05:10

Michael Hackner