ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

TortoiseBzrのdiff時のエンコーディング指定方法について(補足)

前回のネタを書いた時、diff表示時のエンコードが指定できると嬉しいなぁ。とボヤいていたら、courantさんより、以下のコメントを頂きました。

qdiff(TortoiseBzr)のエンコーディングを指定できますよ。bzr qdiff --encoding=shift_jisと一回だけオプションを指定するかbazaar.conf設定ファイルで直接指定します。設定ファイルの位置はbzr versionからわかります。公式マニュアルを翻訳している最中ですが、来年の成長が楽しみです。

早速試してうまく行きましたので、以下にメモしておきます。
(id:courant さんには、足を向けて寝られません。本当にありがとうございます)

エンコーディング設定前

エンコーディング設定前、diff表示させると以下のような画面です。(ファイルには、Shift-JISで記述しています)
1
1 posted by (C)wacky
文字が化け化けで読めません。

エンコーディング設定後

ここで、作業フォルダ上で コマンドプロンプトを開き、以下の魔法のキーワードを打ち込みます。

$ bzr qdiff --encoding=shift_jis

すると、指定されたエンコードでdiff表示されます。
2
2 posted by (C)wacky

一度これを行うと、エクスプローラ上からdiffしても、
3
3 posted by (C)wacky
やはり、指定されたエンコードでdiff表示されます。
2
2 posted by (C)wacky
やったぁ!!!

仕掛け

どんな仕掛けになっているのかな?と思って調べてみると、「作業フォルダ\.bzr\branch\branch.conf」の設定ファイルが、以下のように書き換わっていました。

qbzr_commit_message = ""
encoding = shift_jis  <= この行が追加されている

なるほど、そういう事だったんですか。