TortoiseSVN diff のリビジョンの文字化け

Index: hoge
===================================================================
--- hoge	(.../tags/hoge)	(リビジョン 1)
+++ hoge	(.../trunk)	(リビジョン 2)

比較対象のファイルが SJIS 以外の日本語が含まれてるとリビジョンという文字が SJIS なので文字コードが混在して文字化けする。のでそこだけ英語に戻したという話。のメモ


「リビジョン」という文字列は TortoiseSVN\Languages\ja\LC_MESSAGES\Subversion.mo に含まれているようなので .mo をmsgunfmt を使って .po に戻して msgfmt を使ってコンパイルする。こういったツール一式は GnuWin32 から頂いた。凄く便利。

msgunfmt SubVersion.mo -o SubVersion.po
patch -p1 < en.diff
msgfmt SubVersion.po -o SubVersion.mo

en.diff

--- B/Subversion.po	2009-08-28 07:27:13.853856900 +0900
+++ A/Subversion.po	2009-08-28 07:28:59.124382900 +0900
@@ -236,10 +236,10 @@
 msgstr "%b %d %H:%M"
 
 msgid "%s\t(revision %ld)"
-msgstr "%s\t(リビジョン %ld)"
+msgstr "%s\t(revision %ld)"
 
 msgid "%s\t(working copy)"
-msgstr "%s\t(作業コピー)"
+msgstr "%s\t(working copy)"
 
 msgid "%s blocked by %s hook (exit code %d)"
 msgstr "%sが %s フックによって妨げられました (終了コード: %d)"