Subject: Re: Git Commit Signature Encoding

From: Philippe Blain <[email-masked]>
Date: Tue, 26 Jan 2021 14:11:53 -0500

Hi René,

Le 2021-01-26 à 09:30, Rene Schumacher a écrit :
> 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 <[email-masked]>" [ultimate]^M
> gpg:                 aka "Ren<82> Schumacher <[email-masked]>" [ultimate]^M
> Author: René Schumacher <[email-masked]>
> 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 <[email-masked]>" [ultimate]
> gpg:                 aka "Ren82 Schumacher <[email-masked]>" [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 <[email-masked]>
> [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)?
> 

What Git and GPG versions are you running ? And what Powershell version
(I don't think that matters but still, a complete environment description
usually goes a long way).

Can you come up with a reproducible example ? (Complete steps starting
with 'git init' and 'gpg --gen-key')

Cheers,

Philippe.