2010-01-06 14 views
5

Come posso configurare il server di sottoversione per nascondere il percorso completo del repository dal mondo esterno?Subversion hide repository path

Ad esempio, il repository abita sotto /home/svn/foobar/ ... Desidero accedervi tramite ssh come svn+ssh://[email protected]/foobar.

+0

Vedi http://serverfault.com/questions/100029/subversion-hide-repository-path ServerFault –

risposta

3

Leggendo attentamente la documentazione ufficiale SVN Ho scoperto che quando si accede la sovversione nel corso svn + ssh - allora un processo svnserve separato viene generato per ogni connessione. Così il trucco è quello di

  1. Rinomina svnserve-svnserve.bin
  2. Creare un file chiamato svnserve
  3. Aggiungere il seguente al suo contenuto

    #!/bin/sh 
    exec /usr/bin/svnserve.bin -r /home/svn "[email protected]" 
    

Così l'involucro sarà chiamato ogni volta è necessaria un'istanza del server. A sua volta, avvierà il server con un nuovo percorso root.

Pezzo di torta!

+0

Un'altra opzione che non richiede la ridenominazione del binario è di mettere lo script di shell svnserve in/usr/local/bin, che (sulla mia scatola) è precedente nella lista PATH. – dhowland

0

È possibile utilizzare il protocollo HTTP (S) anziché SSH. E quindi, configura Apache con qualsiasi directory virtuale che ti piace.

2

Utilizzare l'opzione --root:

svnserve --root /home/svn 
Problemi correlati