NetBeansでSVN接続

ここのところRailsアプリケーションを作っているのだが、色々と仕組みを覚えるために、あえてLinuxシェル + viのみの非常にプリミティブな環境で開発してきた。
さて、開発がひと段落して、自分もRailsに慣れてきたので、そろそろ便利ツールを使ってみようかと思った。

環境的にはこんな感じ。

で、NetBeansのインストールまでは特に問題なかったのだが、SVNに接続するところで一苦労。

まずはメニューから、チーム > Subversion > チェックアウト、を選択。表示された画面にはリポジトリのURLを入力するボックスがあるのだが、今の開発環境のSVNには、sshでないとアクセスできないので、

svn+ssh://ホスト/パス

みたいなURLを入力する。すると、「トンネルコマンド」という入力エリアが現れる。画面のサンプルに従って、

plink -l yebihara -i "C:\Documents and Settings\yebihara\My Documents\ssh\myhost\privatekey.ppk"

と打ち込んで「次へ」をクリックするのだが、次のようなエラーが起きてしまう。

org.tigris.subversion.javahl.ClientException: Network connection closed unexpectedly

最初はコマンドラインの書き方が悪いのかと思って色々試してみたが、どれもだめ。
そこで見つけたのがこのページ。
http://nucleus.panasocli.cc/index.php?itemid=425
plinkwが何なのか分からんが、とにかく試してみる。そしたら、このぺーじのようにうまくいったー!、ということはなく、相変わらずエラーが出るんだけど、次のメッセージが見えるようになった。

Unable to use key file "C:Documents and SettingsyebiharaMy Documentssshmyhostprivatekey.ppk" (unable to open file)
FATAL ERROR: Disconnected: No supported authentication methods available

ん? ファイルパスから"\"が消えてる!?
ということで、パス区切りを"\\"に変えてあげたらうまくいったのでした。

plink -l yebihara -i "C:\\Documents and Settings\\yebihara\\My Documents\\ssh\\myhost\\privatekey.ppk"

ちなみに、オフィシャルWikiにはこんな情報もある。
http://wiki.netbeans.org/FaqSubversionSSH
けど、別にconfigファイルを直接書き替えなくても大丈夫だった。GUIからトンネルコマンドを指定できるようになったのは、もしかしたらNetBeansの最近のバージョンになってからなのかもしれない。

(追記)
チェックアウト時に指定したトンネルコマンドが、後でチェックアウトしたワークスペースを更新(svn update)したりするときに使われないっぽい。
オフィシャルWikiに書いてあるとおりに、configファイルを書き換えれば更新できたけど・・・。

あと、"\\"の件は、configファイルにコメントで書いてあった。Unix-likeに"/"を使ってもいいらしい。

plinkだと、SVNにアクセスするたびにコマンドプロンプトの黒画面が出てきてうざいけど、plinkwにしてあげると何も表示されなくて気持ちいい!