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

[PATCH v2] git-gui: Prevent double UTF-8 conversion

From
Łukasz Stelmach <l.stelmach@samsung.com>
Date
Dec 2, 2017, 12:20 UTC
Message-ID
<20171202122046.6033-1-l.stelmach@samsung.com>
In-Reply-To
<20171128102126.20864-1-l.stelmach@samsung.com>

Convert author's name from the UTF-8 (or any other) encoding in load_last_commit function the same way commit message is converted.

Amending commits in git-gui without such conversion breaks UTF-8 strings. For example, "\305\201ukasz" (as written by git cat-file) becomes "\303\205\302\201ukasz" in an amended commit.

Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
---
 git-gui/lib/commit.tcl | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl
index 83620b7cb..f820c24bf 100644
--- a/git-gui/lib/commit.tcl
+++ b/git-gui/lib/commit.tcl
@@ -34,9 +34,7 @@ You are currently in the middle of a merge that has not been fully completed.  Y
 					lappend parents [string range $line 7 end]
 				} elseif {[string match {encoding *} $line]} {
 					set enc [string tolower [string range $line 9 end]]
-				} elseif {[regexp "author (.*)\\s<(.*)>\\s(\\d.*$)" $line all name email time]} {
-					set commit_author [list name $name email $email date $time]
-				}
+				} elseif {[regexp "author (.*)\\s<(.*)>\\s(\\d.*$)" $line all name email time]} { }
 			}
 			set msg [read $fd]
 			close $fd
@@ -44,7 +42,9 @@ You are currently in the middle of a merge that has not been fully completed.  Y
 			set enc [tcl_encoding $enc]
 			if {$enc ne {}} {
 				set msg [encoding convertfrom $enc $msg]
+				set name [encoding convertfrom $enc $name]
 			}
+			set commit_author [list name $name email $email date $time]
 			set msg [string trim $msg]
 		} err]} {
 		error_popup [strcat [mc "Error loading commit data for amend:"] "\n\n$err"]
-- 
2.11.0
Previous: Łukasz StelmachNext: Johannes Schindelin
Message 4 of 11 in “git-gui: Prevent double UTF-8 conversion”
  1. git-gui: Prevent double UTF-8 conversionŁukasz Stelmach, Nov 28, 2017
  2. Johannes SchindelinNov 28, 2017
  3. Łukasz StelmachDec 2, 2017
  4. git-gui: Prevent double UTF-8 conversionŁukasz Stelmach, Dec 2, 2017
  5. Johannes SchindelinDec 4, 2017
  6. git-gui: Prevent double UTF-8 conversionŁukasz Stelmach, Dec 5, 2017
  7. Johannes SchindelinDec 7, 2017
  8. git-gui: Prevent double UTF-8 conversionŁukasz Stelmach, Dec 14, 2017
  9. Eric SunshineDec 14, 2017
  10. Łukasz StelmachDec 14, 2017
  11. Eric SunshineDec 14, 2017

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.