git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH RFC] gitk: display submodule diffs with appropriate encoding

From
Kirill Smelkov <kirr@landau.phys.spbu.ru>
Date
Jan 5, 2010, 12:44 UTC
Message-ID
<1262695494-27975-1-git-send-email-kirr@landau.phys.spbu.ru>

Previsously, when submodule commits headings contained non-latin-1 characters, they were displayed incorrectly in gitk, because $line was not properly decoded, i.e.

----------------------------- 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 <kirr@landau.phys.spbu.ru>
---
 gitk |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/gitk b/gitk
index 86dff0f..0edef8f 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]} {
-- 
1.6.6.78.gbd757c.dirty
Next: Paul Mackerras
Message 1 of 2 in “gitk: display submodule diffs with appropriate encoding”
  1. gitk: display submodule diffs with appropriate encodingKirill Smelkov, Jan 5, 2010
  2. Paul MackerrasJan 12, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.