web-dev-qa-db-ja.com

コマンドラインからTortoise SVNでsvn + sshを使用する方法

TortoiseSvnがインストールされたWindows 7ワークステーションで、次の構文を使用してリポジトリをチェックアウトしようとして問題が発生しました。

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

この問題をテストするために私がしたこと:

  • TortoiseSvnのネットワーク設定を変更して、..\TortoisePlink.exeを指すようにしました。
  • ターゲットマシンへのSSH接続が問題なく確立されました
  • OpenSshでUbuntuを実行しているワークステーションからリポジトリを正常にチェックアウト

Windows 7ワークステーションのコマンドラインから上記の構文を実行しようとすると、エラーが発生します。

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.

興味深いことに、亀のGUIを使用してリポジトリを参照すると、リポジトリを開いてチェックアウトできます。しかし、スクリプトを作成するためにコマンドラインから実行する必要があります。

助言がありますか?

17
hax0r_n_code

Svn + sshがTortoiseで動作するようにするには、%SVN_SSH%がsshクライアント(おそらくTortoiseまたはPuTTYのplink.exe)に設定されていること、およびパスがスラッシュ/またはエスケープされていることのいずれかで記述されていることを確認してくださいバックスラッシュ\\

%SVN_SSH%の代わりにC:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exeのようなバックスラッシュをエスケープしながら、..\TortoisePlink.exeをplinkの絶対パスで設定してみてください

37
zakinster
  • Plinkを使用して、手動でサーバーに接続します。 plinkの必要で正しい(あなたのための)起動オプションを定義する
  • この行を追加し(tortoiseplinkをwindowless-plinkとして使用)、%APPDATA%configファイル、[tunnels]セクションに追加します
3
Lazy Badger

TortoiseSVN設定でTortoisePlinkへのパスが破損していないことを確認してください...

  1. スタート>プログラムファイル> Tortoise SVN>設定
  2. [一般設定]の[Subversion構成ファイル]で、[編集]をクリックします
  3. これは設定ファイルをメモ帳で開きます
  4. 下にスクロールして[tunnels]セクションとsshの値を確認します。コメントを外し、ダブルスラッシュを使用します。パスの先頭にUnicode制御コードがあるように見えたため、問題が発生しました。
 ### Windowsでは、コマンドへのフルパスを指定する場合は、
 ###スラッシュ(/)またはペアのバックスラッシュ(\\)を
 ###パス区切り文字。単一の円記号は、次の文字の
 ###エスケープとして扱われます。 
 ssh = C \:\\ Program Files \\ TortoiseSVN \\ bin \\ TortoisePlink.exe 
2
Kevin Sadler

また、設定ファイルのTunnelsセクションの行では大文字と小文字が区別されます。

例:sh = $ SVN_SSH "C:/path/PuTTY/plink.exe" -2 -C -i "C:/path/username/serversvn.ppk"が機能する可能性があります

そして

sh = $ SVN_SSH "C:/path/PuTTY/plink.exe" -2 -C -i "C:/path/username/serversvn.ppk"は機能しません

1
i'm tired

私は似ていますが、少し異なる問題がありました。

Pycharmを介してSSH + SVNサーバーに接続しようとすると、ハングしました。ウィンドウを右クリックしてtortoiseSVNを通常の方法で試し、これと同じ「トンネルを作成できません」の問題が発生しました。

この問題は、pycharmを介してリポに接続しようとしたために発生したと考えています。

私はケビン・サドラーの答えに従いましたが、ssh行をコメントアウトしただけで、正常に戻りました。チェックアウトとコミットが再び機能していました。

ケビンの答え:

TortoiseSlink設定でTortoisePlinkへのパスが破損していないことを確認してください...

  1. スタート>プログラムファイル> Tortoise SVN>設定
  2. [一般設定]の[Subversion構成ファイル]で、[編集]をクリックします
  3. これは設定ファイルをメモ帳で開きます
  4. [tunnels]セクションまでスクロールします。 SSH行をコメント化します。
0
john stamos