Saturday, June 20, 2009
Cygwin + Vistaでは svn+ssh プロトコルが失敗する
svn+ssh:// のプロトコルでsubversionのレポジトリにアクセスしたい。
Cygwin + WindowsXP では何も問題が起きないのだが、 Cygwin + WindowsVista では、Can't create tunnel: Resource temporarily unavailable といったエラーが出てしまう。どうしたらいいか。
svnkit を使う
結論から言えば、svnkitを使えば問題なく処理できた。 svnkitは svn+ssh のプロトコルにも対応している。
Cygwin標準の /usr/bin/svn コマンドから jsvn に切り替えて使用しているが、 操作上なんの違和感も感じません。すばらしいです。
インストール
http://svnkit.com/から org.tmatesoft.svn_1.3.0.standalone.nojna.zip をダウンロードして展開。 あとは、jsvn や jsvn.bat などが含まれたディレクトリにパスを通すだけ。
svnコマンドと完全に入れ替えたい場合は、
/path_to_install/svnkit/jsvn を
/path_to_install/svnkit/svn にコピーすればOK。
あらかじめ、jsvn コマンドは、Cygwinで使うことも考慮されているようなので、 特に起動スクリプトの変更は必要なかった。
Cygwin付属の svn と svnkit との違い
Cygwin付属の svn では、毎回パスワードを入力するか、 ~/.ssh/id_dsa に鍵を配置しておく(ことでパスワードなしで使う)必要があったが、 svnkitでは、初回にユーザとパスワードを入力すると、次回以降は入力が省略できる ようになっていた。
