WinMerge の不具合
WinMerge は素晴らしいツールだ。
今まで 100% 信頼して使用していたけど、バグが見つかった。
現象
ディレクトリ比較をした場合に、特定のファイルが比較対象にならない。
詳細
対象にならないのは特定の名前の .h ファイルだ。他の .h やベース名が同じ .cpp は対象になっているのに。
再現
再現させてみたところ、どうやらこのヘッダファイルをバイナリとして認識しているようだ。そして僕の設定は、バイナリファイルを表示しないようにしていたからだ。ちなみにこのヘッダは EUC-JP、LF のれっきとしたテキストファイル。
バグレポート
で、バグレポートを WinMerge の開発コミュニティに送ろうと思ったんだけど、WinMerge はバグ管理システムを公開していて、そこに直接ポストしなければならない。
メールで気軽に報告できないのがつらいところだ。
もし、メールでの報告を許容してしまうと、ほとんどの人がメールで報告するだろうし、そうすると開発者の負担が半端なく上がってしまう。だけど、報告のハードルを上げると、報告しようと思っても報告しない(できない)人が出てしまう。
僕の場合は、特定の内容がバイナリとして認識されてしまう、という問題で、このヘッダファイルの内容を万人に公開するわけにはいかないので、今回は報告できない。
EUC はアジアで使用される文字コードなので、誤判定は致し方ないのかもしれない。時間があるときに、WinMerge のソースコードを見てみよう。
しばらくは、バイナリを表示しないオプションはチェックしない方がよさそうだ。