Cygwinのtigは日本語が文字化けするので自分でコンパイルした
git(に限らないけど)でリポジトリの履歴をさかのぼりながらdiffを見たりするにはgitkを使えばいいんだけど、こいつはTk製のGUIアプリなのでssh接続してるリモートサーバ上では使うのが難しい。*1
そんな時に便利なのがncursesベースのtigというツールで、これならCUI環境でも実行できるのでssh越しでも使えるし、そうでなくても普段からターミナルで作業しててマウスとか持ち替えたくねーという不満を解消してくれる。
というわけで、丁度TL上で話題になってたんでCygwinにも入れてみたんだけど、パッケージのやつだとどうも日本語が文字化けしてしまう。
普通にgitコマンド使う分には文字化けなんてしないしgit自体には問題はないと思うんだけど、git show | tigとかでも文字化けしちゃうのでncurses周りかなーと思ってlddしたらやっぱりncursesにリンクしてたので、ソース落としてきてncurseswにリンクし直すようにしたら解決した。
※2011/11/11 久しぶりに新しいの(tig-0.18)落としてきてビルドしようと思ったら、なんかLIBS=-lncurseswじゃダメだったので修正。
配布元の説明書きにはLDLIBS=-lncurseswをつけるんだぜみたいに書いてあるけど、つけてもCygwinだとだめっぽかったのでこんな感じでいけた。
cd ~/tmp wget tigのtarball ... gitで最新版持ってきてもいいかも tar zxf tigのtarball cd tig-x.x.x LDFLAGS=-L/usr/lib/ncursesw CPPFLAGS=-I/usr/include/ncursesw ./configure make make install
これで日本語でも文字化けしないようになった。Cygwinでも使えるようになった!
ちなみにUbuntuでは普通にパッケージで入れたやつで使えてます。
※以下はなんか古いバージョンでは通ったけどいつの間にかダメになってたケース。
配布元からソースを落としてきて、説明書きにあったように-lncurseswを付けてビルドしてみる。*2
cd ~/tmp wget tigのtarball ... gitで最新版持ってきてもいいかも tar zxf tigのtarball cd tig-x.x.x LIBS=-lncursesw ./configure make make install