it-swarm.com.de

So verwenden Sie svn + ssh mit Tortoise SVN über die Befehlszeile

Ich habe Probleme beim Auschecken eines Repos mit der folgenden Syntax auf einer Windows 7-Workstation mit TortoiseSvn:

svn co svn+ssh://[email protected]/repo .

Was ich getan habe, um dieses Problem zu testen:

  • Die Netzwerkeinstellungen von TortoiseSvn wurden so geändert, dass sie auf ..\TortoisePlink.exe zeigen
  • Erfolgreiche Herstellung einer SSH-Verbindung zum Zielcomputer ohne Probleme
  • Repos erfolgreich von Workstations ausgecheckt, auf denen Ubuntu mit OpenSsh ausgeführt wird

Wenn ich versuche, die obige Syntax über die Befehlszeile auf der Windows 7-Workstation auszuführen, erhalte ich die Fehlermeldung:

svn: E720087: Unable to connect to a repository at URL 'svn+ssh:///[email protected]/repo'
svn: E720087: Can't create tunnel:The parameter is incorrect.

Interessanterweise kann ich, wenn ich die Tortoise gui zum Durchsuchen des Repos verwende, das Repo erfolgreich öffnen und überprüfen. Aber ich muss es von der Kommandozeile aus für Scripting tun.

Irgendwelche Vorschläge?

17
hax0r_n_code

Damit svn + ssh mit Tortoise funktioniert, stellen Sie sicher, dass %SVN_SSH% auf Ihren ssh-Client eingestellt ist (wahrscheinlich plink.exe von Tortoise oder PuTTY), und der Pfad muss entweder mit Vorwärtsschrägstrichen / oder mit Escape-Backslashes \\ geschrieben werden.

Versuchen Sie, %SVN_SSH% mit dem absoluten Pfad des Plink zu setzen, während Sie den Backslashes entgehen, etwa C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe anstelle von ..\TortoisePlink.exe.

35
zakinster
  • Stellen Sie mit Plink eine manuelle Verbindung zum Server her. Definieren Sie benötigte und für Sie korrekte Startoptionen von plink
  • Fügen Sie diese Zeile (verwenden Sie tortoiseplink als fensterloser Plink) in %APPDATA%config-Datei, [tunnels]-Abschnitt
3
Lazy Badger

Es stellt sich auch heraus, dass die Zeile im Abschnitt "Tunnel" der Konfigurationsdatei die Groß- und Kleinschreibung berücksichtigt. 

Zum Beispiel: Sh = $ SVN_SSH "C: /path/PuTTY/plink.exe" -2 -C -i "C: /path/username/serversvn.ppk" Kann funktionieren 

und 

sh = $ SVN_SSH "C: /path/PuTTY/plink.exe" -2C -i "C: /path/username/serversvn.ppk" funktioniert nicht

1
i'm tired

Stellen Sie sicher, dass der Pfad zu TortoisePlink in Ihrer Tortoise SVN-Konfiguration nicht beschädigt ist.

  1. Start> Programme> Tortoise SVN> Einstellungen
  2. Klicken Sie unter "Allgemeine Einstellungen" "Subversion-Konfigurationsdatei:" auf "Bearbeiten".
  3. Dadurch wird die Konfigurationsdatei in Notepad geöffnet
  4. Scrollen Sie nach unten zum Abschnitt [tunnels] und überprüfen Sie den Wert für ssh, der unkommentiert sein sollte, verwenden Sie doppelte Schrägstriche usw. - Ich hatte Probleme, da anscheinend ein Unicode-Steuercode am Anfang des Pfads vorhanden war.
 ### Wenn Sie unter Windows einen vollständigen Pfad zu einem Befehl angeben, verwenden Sie 
 ### einen Schrägstrich (/) oder einen umgekehrten Schrägstrich (\\) als 
 ### Pfadtrennzeichen. Ein einzelner Backslash wird als Escape-Zeichen für das folgende Zeichen behandelt. 
 ssh = C \: \\ Programme \\ TortoiseSVN \\ bin \\ TortoisePlink.exe 
0
Kevin Sadler