2010-04-20

Magitからstageに失敗する 日本語編

うーん、やっぱりexternal diffでnkfをかけているせいで、日本語部分の部分的なstageがうまくいかない。どうすれば良いんだろう。

gitはファイル毎に文字エンコーディングメタ情報を持って、適切に変換処理を行うべきだと思うんだけど、その辺はどうなってるのよ。

git-guiだと.git/info/attributesに「ファイル名 encoding=utf-8」みたいに書けば適切に表示してくれるようになっている(gitattributes(5) Manual Page)。また、.gitconfigのgui.encodingによって、デフォルトの解釈も指定できる。でもさ、これってguiの問題なのかね? コマンドラインで表示するときだって、適切に変換してエンコーディングを統一してから標準出力へ流すべきなんじゃないの?

まあとにかく、gitの方でやってくれないのであれば、magitの方で何とかしないといけないんだろうな。