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

[PATCH] Do not lose author name information to locale gotchas.

From
Junio C Hamano <junkio@cox.net>
Date
Nov 11, 2005, 07:42 UTC
Message-ID
<7vk6ffska1.fsf@assigned-by-dhcp.cox.net>

I noticed format-patch loses authorship information of Lukas' patch when I run git tools with LC_LANG set to ja_JP. It turns out that the sed script to set environment variables were not working on his name (encoded in UTF-8), which is unfortunate but technically correct.

Force sed invocation under C locale because we always want literal byte semantics.

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 * I might have screwed up people's names already without
   noticing; if that happened to you, please forgive me.  I
   think this patch fixes all the problematic places...
 git-commit.sh       |    2 +-
 git-format-patch.sh |    2 +-
 git-revert.sh       |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

applies-to: 8eacf17303188e55375f76bea8051555ba1baf02 0375d39e7d3052bdb9b21f984a7b7d2b02e627a5

diff --git a/git-commit.sh b/git-commit.sh
index daf90f1..41955e8 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -184,7 +184,7 @@ then
 		}
 		'
 		set_author_env=`git-cat-file commit "$use_commit" |
-		sed -ne "$pick_author_script"`
+		LANG=C LC_ALL=C sed -ne "$pick_author_script"`
 		eval "$set_author_env"
 		export GIT_AUTHOR_NAME
 		export GIT_AUTHOR_EMAIL
diff --git a/git-format-patch.sh b/git-format-patch.sh
index 548d2d5..7ee5d32 100755
--- a/git-format-patch.sh
+++ b/git-format-patch.sh
@@ -201,7 +201,7 @@ process_one () {
 	    ;;
 	esac
 
-	eval "$(sed -ne "$whosepatchScript" $commsg)"
+	eval "$(LANG=C LC_ALL=C sed -ne "$whosepatchScript" $commsg)"
 	test "$author,$au" = ",$me" || {
 		mailScript="$mailScript"'
 	a\
diff --git a/git-revert.sh b/git-revert.sh
index dfd914c..4154fe0 100755
--- a/git-revert.sh
+++ b/git-revert.sh
@@ -112,7 +112,7 @@ cherry-pick)
 		q
 	}'
 	set_author_env=`git-cat-file commit "$commit" |
-	sed -ne "$pick_author_script"`
+	LANG=C LC_ALL=C sed -ne "$pick_author_script"`
 	eval "$set_author_env"
 	export GIT_AUTHOR_NAME
 	export GIT_AUTHOR_EMAIL
---
0.99.9.GIT
Message 1 of 1 in “Do not lose author name information to locale gotchas.”
  1. Do not lose author name information to locale gotchas.Junio C Hamano, Nov 11, 2005

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.