彷徨えるフジワラ

年がら年中さまよってます

TortoiseHg のファイル内容文字コード判定処理

備忘録代わりに「お気に入り」に入れてあるツィートの棚卸しを兼ねた、TODOリスト代わりの私的エントリですが、勝手に実装してもらえる分には大歓迎です(笑) > 誰か

TortoiseHg におけるファイル内容/差分ビューアでの、文字コード選択周りのトラブルに関するツィートは、定期的に見かけます。

TortoiseHg での「ファイル内容」に関する文字コードは、HGENCODING 環境変数設定したものしか扱えません

※ 注意: バージョン 2.11 より前のバージョンでは、utf-8 (こちらが優先) と HGENCODING 環境変数に設定された文字コード二択になります。
HGENCODING の推奨設定値は:

ですので、各環境上では、上記指定値以外の文字コードを使うファイルは、TortoiseHg の内容表示で問題が発生することになります。

以前は:

みたいな対応を考えていたのですが、より確実な文字コード特定を考えるなら、eol エクステンションンにおける .hgeol ファイルみたいな仕組みの方がよいのかもしれませんね。

例えば .hgcontentencoding みたいなファイルで、以下のような設定の記述をすることで:

[patterns]
**.xml = UTF-8
**.euc.txt = euc-jp
**.sjis.txt = cp932

ファイル内容に関する処理が、適切な文字コードを選択できるようにする、という感じの実現をイメージしています。

TortoiseHg とは関係ありませんが:

上記の件に関しても、hg grep.hgcontentencoding センシティブに処理するようになれば、いい感じで解決できるのではないかと思われます。

まぁ、後方互換性を考えると、encodnig sensitive grep として、既存のものとは別途実装することになるとは思いますが…… > hg grep