SVN sur SSH

Pour exécuter Subversion sur SSH, il suffit d'un interpréteur de commandes sur le système cible et d'un dépôt Subversion sur celui-ci créé en suivant la description précédente. Le dépôt doit être configuré pour être accessible aux utilisateurs du système distant.

Si votre identifiant est le même sur le système client que sur le serveur, il n'y a pas grand chose à configurer. Il suffit de modifier le protocole indiqué file:// par svn+ssh://identifiant_distant@nom_d_hôte_du_serveur dans tous les exemples de ce manuel.

Remarquez que lorsque les outils de svn-buildpackage sont utilisés, de nombreux appels SSH sont réalisés, demandant les données de connexion à l'utilisateur. La méthode habituelle pour gérer cela est d'utiliser l'authentification par clé SSH, avec ssh-agent et ssh-add pour conserver le mot de passe en mémoire. Une autre approche qui apporte une augmentation significative de la vitesse, est d'utiliser une connexion SSH en cache. Ce peut être réalisé avec une fonctionnalité récente d'OpenSSH (voir « cache de connexion SSH » sur le wiki de GCC) ou un outil intermédiaire comme fsh.

Pour utiliser fsh sur ssh, il est possible d'indiquer une méthode de transport personnalisée dans la configuration de Subversion. Pour ce faire, modifier le fichier ~/.subversion/config et y ajouter la section [tunnels], suivi de la définition de transport personnalisé. Par exemple :

Exemple 2.3. commande pour tunnel SSH personnalisé

# configuration personnelle de Subversion avec commande pour tunnel SSH personnalisé
[tunnels]
# compte SSH sur svn.d.o
# la compression est activée dans la configuration SSH
deb = fsh -l <user>
# compte SSH pour l'intranet NQ, configurant un identifiant fixe
nq = ssh -C -l zomb

Le tunnel nouvellement défini peut être utilisé de la même façon que précédemment en remplaçant svn+ssh par svn+nom_de_tunnel, pour qu'au final l'URL ressemble à :

svn+deb://svn.debian.org/svn/monprojet/notrepaquet/trunk