gitリポジトリ内にeuc-jpとsjisで書かれたファイルが混在している。そのためpagerにlvを指定していてもgit diffでeuc-jpなファイルとsjisなファイルが混ざっていると文字化ける。これをなんとかする。 $ cat ~/diff-wrapper.sh #!/bin/bash old=$2 new=$5 diff -Nau <(lv $old) <(lv $new) | cat $ git config diff.external ~/diff-wrapper.sh $ git diff HEAD~.. これでlvが各ファイルをutf-8にしてくれた上でdiffを取る(出力がすべてutf-8に統一される)ので文字化けせずに見れる。 git format-patchやgit log -pなどではまだ化けるけどそこは妥協する。<(cmd)を初めて有効活用した。 2012-0