svnXをMacOS X Lionにインストールする

MacsubversionのクライアントソフトsvnXを入れようとして色々ハマったのでメモ。

Mac用のsubversionクライアントソフトは、windowsで言うTortoiseSVNのような決定的なものがなく、
有料のものから無料のものまでいくつもひしめき合っているようなのですが、
無料のものでMacOS X Lionに対応しているという情報があったsvnXをインストールすることにしました。

参考:Mac用Subversionクライアントから3つピックアップ


svnXの配布元は以下のページ
http://code.google.com/p/svnx/

最新版をダウンロードしてsvnX.appをアプリケーションフォルダに入れればインストール完了。
起動するとリポジトリウィンドウとワーキングコピーウィンドウが開かれます。
リポジトリウィンドウにリポジトリの情報を入力して開こうとしたところ、
次のようなエラーメッセージが。

To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.

調べたところデフォルトで入っているsubversion( version 1.6.16 )はsvnXでは使えないようで、
http://homepage.mac.com/martinott/から
My Subversion-1.5.5 Packageをダウンロードしてインストールします。
そして、svnXのPreferenceで新しくインストールしたsubversionのバイナリのパスを指定します。
(私の場合はデフォルトが/usr/binになっていたのを/usr/local/binに変更)


これで再びリポジトリを開こうとすると別のエラーメッセージが。

ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory

とりあえずssh-keygenで公開鍵・秘密鍵を作成して
svnサーバに公開鍵をコピーしてやるとエラーメッセージは消えました。
パスワード認証ではダメなのでしょうか?


認証のエラーメッセージは消えましたが、
今度はwarningが出てきました。

svn: warning: cannot set lc_ctype locale
svn: warning: environment variable LC_ALL is en_US.UTF-8

サーバのロケールの設定が問題の様子。

# dpkg-reconfigure locales

というコマンドを実行すると生成したいロケールを選択する画面になるので、
もともと選択されていたja_JP.EUC-JP EUC-JP、 ja_JP.UTF-8 UTF-8に加えて
en_US.UTF-8を選択し生成。
次にデフォルトのlocale を何にするか聞かれますが、ここではja_JP.UTF-8 を選択。
このような設定にするとエラーもwarningもすべてなくなり、
無事svnXが使えるようになりました。