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

[PATCH] t8005: use more portable character encoding names

From
Brandon Casey <casey@nrlssc.navy.mil>
Date
May 22, 2009, 15:25 UTC
Message-ID
<WnZxv4G_GKTN4oHhxHO_HuQt0cTqurrqXf2HHDiHLAzdp7wC70aKuqDot7xQ1nG9C8_NASCL1_Q@cipher.nrlssc.navy.mil>

Some platforms do not have an extensive list of alternate names for character encodings.

On IRIX 6.5 cp1251 is unknown, but WIN1251 (which seems to be a non-standard name) is known. On Solaris 10, the opposite is true. Solaris also knows cp1251 as WINDOWS-1251, but this too is not recognized on IRIX. I could not find a name that both platforms recognized for this character set.

Solaris 7 does not know about shift-jis, but does know SJIS. It also does not know that utf-8 and UTF-8 refer to the same encoding.

With the above in mind, and the impression that upper-case code names are more portable than lower-case, the following conversions were performed:

      utf-8 --> UTF-8
     cp1251 --> CP1251
  shift-jis --> SJIS

The UTF-8 and SJIS conversions allow 2 of the 3 elements of test 4 to succeed on Solaris 7, but alas, my Solaris 7 does not have CP1251.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
---

Here's another patch in an attempt to make the character encoding names more portable. I hesitate to send it since it does not actually allow any tests to pass which were previously failing for me. At least the utf-8 to UTF-8 shouldn't cause any harm. The shift-jis to SJIS seems to be commonly supported? at least IRIX 6.5 and Solaris as old as 7 recognize it, but the evidence is only empirical. Modern Solaris, and of course Linux recognize either.

-brandon
 t/t8005-blame-i18n.sh |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/t/t8005-blame-i18n.sh b/t/t8005-blame-i18n.sh
index fcd5c26..9c930a5 100755
--- a/t/t8005-blame-i18n.sh
+++ b/t/t8005-blame-i18n.sh
@@ -15,12 +15,12 @@ test_expect_success 'setup the repository' '
 
 	echo "CP1251 LINE" >> file &&
 	git add file &&
-	git config i18n.commitencoding cp1251 &&
+	git config i18n.commitencoding CP1251 &&
 	git commit --author "$CP1251_NAME <cp1251@localhost>" -m "$CP1251_MSG" &&
 
 	echo "SJIS LINE" >> file &&
 	git add file &&
-	git config i18n.commitencoding shift-jis &&
+	git config i18n.commitencoding SJIS &&
 	git commit --author "$SJIS_NAME <sjis@localhost>" -m "$SJIS_MSG"
 '
 
@@ -51,7 +51,7 @@ EOF
 
 test_expect_success \
 	'blame respects i18n.logoutputencoding' '
-	git config i18n.logoutputencoding cp1251 &&
+	git config i18n.logoutputencoding CP1251 &&
 	git blame --incremental file | \
 		egrep "^(author|summary) " > actual &&
 	test_cmp actual expected
@@ -67,8 +67,8 @@ summary $UTF8_MSG
 EOF
 
 test_expect_success \
-	'blame respects --encoding=utf-8' '
-	git blame --incremental --encoding=utf-8 file | \
+	'blame respects --encoding=UTF-8' '
+	git blame --incremental --encoding=UTF-8 file | \
 		egrep "^(author|summary) " > actual &&
 	test_cmp actual expected
 '
-- 
1.6.3.1.24.g152f4
Next: Junio C Hamano
Message 1 of 15 in “t8005: use more portable character encoding names”
  1. t8005: use more portable character encoding namesBrandon Casey, May 22, 2009
  2. Junio C HamanoMay 22, 2009
  3. Brandon CaseyMay 22, 2009
  4. Alex RiesenMay 22, 2009
  5. 1/2 t8005: use more portable character encoding namesBrandon Casey, May 22, 2009
  6. 2/2 t8005: convert CP1251 character set to ISO8859-5Brandon Casey, May 22, 2009
  7. Junio C HamanoMay 23, 2009
  8. Junio C HamanoMay 23, 2009
  9. Jeff KingMay 25, 2009
  10. Jeff KingMay 25, 2009
  11. Brandon CaseyMay 26, 2009
  12. Jeff KingMay 28, 2009
  13. Brandon CaseyMay 26, 2009
  14. Jeff KingMay 28, 2009
  15. Junio C HamanoMay 26, 2009

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.