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

RE: Git Commit Signature Encoding

From
Rene Schumacher <rene.schumacher@microsoft.com>
Date
Jan 26, 2021, 17:03 UTC
Message-ID
<AM7PR83MB0434CE5BAC56BA8FDC3E6F80EEBC9@AM7PR83MB0434.EURPRD83.prod.outlook.com>
In-Reply-To
<AM7PR83MB04349E882710B0EC0E186A09EEBC9@AM7PR83MB0434.EURPRD83.prod.outlook.com>
Hi again,

after a bit more testing and research it seems that the issue is actually caused by PowerShell's OutputEncoding, which does not default to UTF-8 (why, oh why). :( Setting the OutputEncoding to UTF-8 fixes the problem with displaying umlauts and the é. I still don't have a clue why the git show command adds those carriage return characters (^M), though. I'll dig deeper.

René
-----Original Message-----
From: Rene Schumacher 
Sent: Dienstag, 26. Januar 2021 15:30
To: git@vger.kernel.org
Subject: RE: Git Commit Signature Encoding
Hi all,
I'm trying to fix an encoding (?) issue when viewing gpg signatures for commits in PowerShell Core on Windows. Apparently, git changes the output from gpg depending on the command used. Here's what I see:

git show --show-signature This command shows strange line endings and is unable to properly display the é in my name:

commit d7a43da0bd3bc7e31dd46afb8ccd78735ba43a36 (HEAD -> master)
gpg: Signature made 26.01.2021 15:28:26 W. Europe Standard Time^M
gpg:                using RSA key 3848D5B2A3D45419D7F564F97802B995CDB4A2EF^M
gpg: Good signature from "Ren<82> Schumacher <rene.schumacher@microsoft.com>" [ultimate]^M
gpg:                 aka "Ren<82> Schumacher <reneschu@microsoft.com>" [ultimate]^M
Author: René Schumacher <reneschu@microsoft.com>
Date:   Tue Jan 26 15:28:26 2021 +0100
    Commit with signature
diff --git a/file1.txt b/file1.txt
new file mode 100644
index 0000000..a7f8d9e
--- /dev/null
+++ b/file1.txt
@@ -0,0 +1 @@
+bla


git verify-commit
This command does not show the line endings but still fails to properly show the é:

gpg: Signature made 26.01.2021 15:28:26 W. Europe Standard Time
gpg:                using RSA key 3848D5B2A3D45419D7F564F97802B995CDB4A2EF
gpg: Good signature from "Ren82 Schumacher <rene.schumacher@microsoft.com>" [ultimate]
gpg:                 aka "Ren82 Schumacher <reneschu@microsoft.com>" [ultimate]


git verify-commit --raw
This command does properly show the é in my name so I guess that gpg output is correct and there's something happening while git parses the gpg output:

[GNUPG:] NEWSIG
[GNUPG:] KEY_CONSIDERED 3848D5B2A3D45419D7F564F97802B995CDB4A2EF 0 [GNUPG:] SIG_ID jBtyyA8QIDL0tD5fneVqJo7oU/8 2021-01-26 1611671306 [GNUPG:] KEY_CONSIDERED 3848D5B2A3D45419D7F564F97802B995CDB4A2EF 0 [GNUPG:] GOODSIG 7802B995CDB4A2EF René Schumacher <rene.schumacher@microsoft.com> [GNUPG:] VALIDSIG 3848D5B2A3D45419D7F564F97802B995CDB4A2EF 2021-01-26 1611671306 0 4 0 1 8 00 3848D5B2A3D45419D7F564F97802B995CDB4A2EF
[GNUPG:] KEY_CONSIDERED 3848D5B2A3D45419D7F564F97802B995CDB4A2EF 0 [GNUPG:] TRUST_ULTIMATE 0 pgp [GNUPG:] VERIFICATION_COMPLIANCE_MODE 23


I already set the environment variable LC_ALL to C.UTF-8, which fixed the commit message output (see first screenshot) but unfortunately not the signature output. Any idea what might be causing this and how to fix it (if possible)?


Thanks!

René Schumacher
Sr. Customer Engineer
Tel: +49 89 3176 - 4908 | Mobil: +49 151 5895 5728 | mailto:rene.schumacher@microsoft.com
Microsoft Deutschland GmbH - Niederlassung Köln Holzmarkt 2a, 50676 Köln

Microsoft Deutschland GmbH | Walter-Gropius-Str. 5 | 80807 München
Geschäftsführer: Sabine Bendiek (Vorsitzender), Thorsten Herrmann, Benjamin O. Orndorff, Keith Dolliver Amtsgericht München, HRB 70438
Previous: Rene Schumacher
Message 6 of 6 in “RE: Git Commit Signature Encoding”
  1. Rene SchumacherJan 26, 2021
  2. Philippe BlainJan 26, 2021
  3. Rene SchumacherJan 27, 2021
  4. Philippe BlainFeb 9, 2021
  5. Rene SchumacherFeb 12, 2021
  6. Rene SchumacherJan 26, 2021

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.