cmd.exeとBazaarのエンコーディング

リビジョン管理にBazaarを使ってみたりしているんだけど、
SJIS以外のdiffは基本的にcmd.exeでは化けます。


それでは使い勝手が悪いので、プラグインを書いてみた。
相当久しぶりにPythonプログラミング。

bzr encdiffというコマンドを追加するものです。


こいつは Universal Encoding Detector http://chardet.feedparser.org/というPythonのライブラリを使ってファイルのエンコーディングを推測した上でデフォルトのエンコーディングに自動的に変換(この場合cp932)して表示します。


というわけで、本家のbzr diffがそのへんも考慮してくれるようになるまでは使いでがあるかも。


ちなみに、chardetでは当然誤認識することもありますんで注意しましょう。


入手先はこちらから。
http://bazaar-vcs.org/BzrPlugins