文字化けするsvnクライアントを,純正に近い構成で矯正する.
OSXを含む異機種混在環境でsvnクライアントを使うとき,日本語の濁点などが混じると酷い目に遭うのは,UTF-8-MAC辺りのキーワードでぐーぐるセンセイに聞けば山のように出てくる話.
解決策は,パッチを当てること.MacPortsやfinkを使え,というのが大多数の意見.
けれども,私は,MacPortsやfinkが嫌い.同名コマンドが別のパスにあるのがイヤ.だから,/usr/local/bin に置くというのもダメ.
せっかく Apple が,インストールイメージの元になったソースをビルドスクリプト付きで公開しているのだ.こいつを使って,最小の変更量で Subversion の UTF-8-MAC 問題を解決したい.
参考資料
私が行いたいことと,一番近いブログエントリは「Subversion の 日本語文字化け UTF-8 問題」.ほぼ同様の記述が,Googleノートブックのどこかでも見つかる.
でも,/usr/local にインストールするのと,純正環境と同じコンフィギュレーションにならないのとで,今回は参考とするに留める.
もし,上記エントリと同じ方針で行く場合は,一つ注意点がある. www.opensource.apple.com のディレクトリ構成が変更になっているので,URLはそれに合わせて変更しないといけない.
What I did.
言うまでもなく,Xcode のインストールが必要.ていうか,svn で困るということは,Xcode 入っているよね?
一連の作業の大部分は,super user でなくて構わない.最後の一瞬だけ,sudo が要る.
curl -O http://www.opensource.apple.com/tarballs/subversion/subversion-16.tar.gz curl -O http://subversion.tigris.org/nonav/issues/showattachment.cgi/813/utf8precompose_macosx_2.patch
ん? neon? それは要らない.あれが影響するのは libsvn_ra_dav だけ.今回パッチを当てる箇所とは無関係.
tar xzf subversion-16.tar.gz patch -p0 < utf8precompose_macosx_2.patch cd subversion-16 make
これで,configure から何から一気にやってくれる.
しばらくしたらビルドが終わる.
make install
インストールルートは /tmp/subversion/Release になっている.
さて,パッチが当たったコードは,libsvn_subr に含まれている.これを /usr/lib にコピーする.
sudo cp /tmp/subversion/Release/usr/lib/libsvn_subr-1.0.0.0.dylib /usr/lib/libsvn_subr-1.0.0.0.dylib
再起動の必要は,たぶんない.けれども,何かデーモンとして動いているものがあるなら,念の為リブートしてもよいかも.
これで,完了.変更量最小で,Subversion の UTF-8-MAC 問題とはオサラバできる.
加筆
どうやらLeopardは10.5から10.5.6まで,subversion-16 のままのようだけれども,将来はどうなるか判らない.純正環境に入っているのが subversion-16 であることを事前に確かめた方が良いかもしれない.