web-dev-qa-db-fra.com

Comment utiliser svn + ssh avec Tortoise SVN en ligne de commande

Je ne parviens pas à extraire un référentiel à l'aide de la syntaxe suivante sur un poste de travail Windows 7 avec TortoiseSvn:

svn co svn+ssh://user@ip/repo .

Ce que j'ai fait pour tester ce problème:

  • Modification des paramètres réseau de TortoiseSvn pour pointer vers ..\TortoisePlink.exe
  • Établi avec succès une connexion SSH à la machine cible sans aucun problème
  • Extraction réussie des pensions de postes de travail exécutant Ubuntu avec OpenSsh

Lorsque j'essaie de faire la syntaxe ci-dessus à partir de la ligne de commande sur le poste de travail Windows 7, l'erreur suivante apparaît:

svn: E720087: Unable to connect to a repository at URL 'svn+ssh:///user@ip/repo'
svn: E720087: Can't create tunnel:The parameter is incorrect.

Fait intéressant, si j'utilise la tortue gui pour accéder au dépôt, je peux ouvrir et consulter le dépôt avec succès. Mais je dois le faire depuis la ligne de commande à des fins de script.

Aucune suggestion?

17
hax0r_n_code

Pour que svn + ssh fonctionne avec Tortoise, assurez-vous que %SVN_SSH% est défini sur votre client ssh (probablement plink.exe de Tortoise ou PuTTY) et que le chemin doit être écrit avec des barres obliques / ou avec des barres obliques inverses \\.

Essayez de définir %SVN_SSH% avec le chemin absolu de plink tout en évitant les barres obliques inverses, quelque chose comme C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe au lieu de ..\TortoisePlink.exe

35
zakinster
  • Connectez-vous au serveur, à l'aide de Plink, à la main. Définir les options de démarrage nécessaires et correctes (pour vous) de plink
  • Ajoutez cette ligne (utilisez tortoiseplink en tant que windowless-plink) dans le fichier %APPDATA%config, la section [tunnels]
3
Lazy Badger

Il s'avère également que la ligne dans la section Tunnels du fichier de configuration est sensible à la casse. 

Par exemple: Sh = $ SVN_SSH "C: /path/PuTTY/plink.exe" -2 -C -i "C: /path/username/serversvn.ppk"

et 

sh = $ SVN_SSH "C: /path/PuTTY/plink.exe" -2 -C -i "C: /path/username/serversvn.ppk" ne fonctionnera pas

1
i'm tired

Vérifiez que le chemin d'accès à TortoisePlink n'est pas corrompu dans votre configuration Tortoise SVN ...

  1. Démarrer> Programmes> Tortoise SVN> Paramètres
  2. Sous Paramètres généraux, "Fichier de configuration Subversion:" cliquez sur "Modifier".
  3. Cela ouvrira le fichier de configuration dans le Bloc-notes
  4. Faites défiler la liste jusqu'à la section [tunnels] et vérifiez la valeur de ssh qui ne devrait pas être commentée, utilisez des doubles barres obliques, etc. - J'ai eu des problèmes car il semblait y avoir un code de contrôle Unicode au début du chemin.
 ### Sous Windows, si vous spécifiez un chemin d'accès complet à une commande, 
 ### utilise une barre oblique (/) ou une barre oblique inversée (\\) en tant que chemin d'accès 
 ### séparateur. Une simple barre oblique inverse sera traitée comme un échappement 
 ### pour le caractère suivant. 
 ssh = C \: \\ Program Files \\ TortoiseSVN \\ bin \\ TortoisePlink.exe 
0
Kevin Sadler