Visual Studio + PuTTY + TortoiseSVN + AnkhSVN でフリーな GUI svn+ssh 環境を構築してみた。
前回で svn+ssh 環境を構築して Linux からは svn コマンドで簡単にアクセスできるようになったんだけど、
肝心の Windows からのアクセスがまだできてなかったのです。
Subversion の構築メモはCentOS に Subversion を導入するを、 svn+ssh 環境の構築メモはCentOS で svn+ssh 環境の構築を参考。
PuTTY は ssh クライアントです。なかなか便利なので入れておいて損はないです。
ダウンロードはここからできます。
PuTTY Download Page
色々 PuTTY 付属のプログラムを使用するので、セットになったインストーラをダウンロードするのがベストです。
ダウンロードしたらインストールします。
RSA の秘密鍵は Linux 上とかで作成していること前提で、まず、秘密鍵を PuTTY 用に変換する必要があります。
Windows のスタートメニューから puttygen を起動して、自分の秘密鍵を指定して変換しましょう。
ma@www.enjoitech.jp
になります。
次に Category ツリーの [Connection] - [SSH] - [Auth] を開き、 Authentication Parameters の Private key file for authentication に先ほど作成した秘密鍵を指定します。
そしたら再び [Session] に戻り、 Saved Sessions に ma@enjoitech.jp みたいな感じで入力して保存します。
次に先ほど設定したプライベートキーのパスフレーズを、 Pageang に登録させておきます。
こうすることで、 SVN する度にパスフレーズを入力する必要がなくなります。
というか、これから使う SVN はパスフレーズを聞いてくれるような機能がないので、これをせざるを得ないという感じです。
pageang を起動し、タスクトレイに現れたアイコンを右クリックして Add key を選びます。
先ほど作成した秘密鍵を選択し、パスフレーズを入力して登録します。
TortoiseSVN は便利な SVN クライアントです。
これ単体でも十分に通用しますが、今回は Visual Studio 上の AnkhSVN が ssh クライアントとして使うためだけにインストールします。
ダウンロードはここからできます。
Download | TortoiseSVN
インストールしたら、デスクトップでもファイルでも右クリックをするとコンテキストメニューに [TortoiseSVN] というメニューが追加されています。
その中の [settings] をクリックして設定します。
ツリーメニューの [Network] を選択し、 ssh client に C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe を入力します。
これで TortoiseSVN が ssh を使用するときは TortoisePlink を使うようになります。
AnkhSVN が使用する ssh クライアントを指定するためには、環境変数を追加する必要があります。
環境変数名は SVN_SSH で、値は C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe になります。
バックスラッシュはダブらせないとうまく実行しないみたい。
この値で指定されたプログラムを使って AnkhSVN は svn+ssh をサポートします。
実際の使い方ですが、とりあえずレポジトリの内容を svn+ssh で確認してみます。
Visual Studio を起動したら [tool] メニューに [AnkhSVN] が追加されているので、そのサブメニューの [Repository Explorer] を起動します。
起動したら左上の右クリックをしてコンテキストメニューの [Add Repository URL] を選択します。
表示されたフォームに svn+ssh://username@domain/path/to/repository を追加して正常に動くか確認しましょう。
svn+ssh://ma@localhost/home/svn/Testうまく Test レポジトリの中が確認できたら成功です。
Putty and TortoiseSVN - Mono
Martin Woodward: HowTo: Configures SVN+SSH with Subclipse on Windows