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)"