From: Kirill Smelkov Date: Tue, 5 Jan 2010 12:44:54 +0000 (+0300) Subject: gitk: Display submodule diffs with appropriate encoding X-Git-Tag: v1.7.0-rc1~8^2~5 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1f2cecfd53137b76d39b2dcd7bcf7e918cd745b3;p=git.git gitk: Display submodule diffs with appropriate encoding Previously, when submodule commit headings contained non-latin-1 characters, they were displayed incorrectly in gitk, because $line was not properly decoded, for example: ----------------------------- Documentation/Dokko ----------------------------- Submodule Documentation/Dokko 2ca20c7..0ea204d: > Протоколы сопряжения ИМС "Мостик-21631" (ЛИ2 и Сандал) > hardware: документация на InnoDisk SATA 10000 > hardware: документация на IEI PCISA-6770E2 v3.0 > hardware: документация на Fastwel NIB941 > hardware: документация на IEI IPX-9S > hardware: документация на Hirschmann 5TX-EEC instead of ----------------------------- Documentation/Dokko ----------------------------- Submodule Documentation/Dokko 2ca20c7..0ea204d: > Протоколы сопряжения ИМС "Мостик-21631" (ЛИ2 и Сандал) > hardware: документация на InnoDisk SATA 10000 > hardware: документация на IEI PCISA-6770E2 v3.0 > hardware: документация на Fastwel NIB941 > hardware: документация на IEI IPX-9S > hardware: документация на Hirschmann 5TX-EEC This fixes it. Signed-off-by: Kirill Smelkov Signed-off-by: Paul Mackerras --- diff --git a/gitk b/gitk index de911b6e6..c1e1119db 100755 --- a/gitk +++ b/gitk @@ -7689,8 +7689,10 @@ proc getblobdiffline {bdf ids} { makediffhdr $fname $ids $ctext insert end "\n$line\n" filesep } elseif {![string compare -length 3 " >" $line]} { + set line [encoding convertfrom $diffencoding $line] $ctext insert end "$line\n" dresult } elseif {![string compare -length 3 " <" $line]} { + set line [encoding convertfrom $diffencoding $line] $ctext insert end "$line\n" d0 } elseif {$diffinhdr} { if {![string compare -length 12 "rename from " $line]} {