2010-01-06 6 views
5

Comment puis-je configurer le serveur subversion pour masquer le chemin du référentiel complet à partir du monde extérieur?Subversion masquer le chemin du référentiel

Par exemple, le référentiel vit sous /home/svn/foobar/ ... Je souhaite y accéder via ssh sous la forme svn+ssh://[email protected]/foobar.

+0

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

Répondre

3

Lire attentivement la documentation officielle SVN j'ai constaté que lors de l'accès à la subversion sur svn + ssh - alors un processus svnserve séparé est donné naissance pour chaque connexion. Ainsi, l'astuce consiste à

  1. Renommer svnserve-svnserve.bin
  2. Créer un fichier appelé svnserve
  3. Ajouter ce qui suit à son contenu

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

Ainsi, l'emballage sera appelé à chaque fois une instance de serveur est nécessaire. Il initiera à son tour le serveur avec un nouveau chemin racine.

Morceau de gâteau!

+0

Une autre option qui ne nécessite pas de renommer le fichier binaire est de mettre le script shell svnserve dans/usr/local/bin, qui (sur ma boîte) est plus tôt dans la liste PATH. – dhowland

0

Vous pouvez utiliser le protocole HTTP (S) au lieu de SSH. Et puis, configurez Apache avec n'importe quel répertoire virtuel que vous aimez.

2

Utilisez l'option --root:

svnserve --root /home/svn 
Questions connexes