threads / discuss / 56766

git log displaying wrong account information

Subject: git log displaying wrong account information

## tl;dr

3 messages between Oct 23, 2021 and Oct 23, 2021.

replies: 2people: 2as markdown or json

Schanzenbach, Martin· Oct 23, 2021, 05:58 UTC · lore
Hello,

there is some odd behaviour in "git log" which affects me in various ways: For some reason, it "canonicalizes" the author/commiter information in our repository: https://git.gnunet.org/git/gnunet.git 5 years ago or so I was using another email address for commits. I have been using a different email address since that.

But if you clone this repo, and take a look at a recent commit such as be9b998b3369056c7c8fb0ae84fb4e2a064b496c using "git log", you will see that my email address is actually the old one and different from the _real_ information. You can see that I correctly set the author/commiter email here using either cgit (https://git.gnunet.org/gnunet.git/commit/?id=be9b998b3369056c7c8fb0ae84fb4e2a064b496c) or a specific format such as

$ git log --pretty=format:"[%h] %cd - Committer: %cn (%ce), Author: %an (%ae)
This is driving me crazy as the information is just plain wrong and when our CI tries to collect a blamelist when sending out notifications, it also uses the info from "git log" instead of the actual author/commiter emails, promptly sending the reports to the wrong account.

Any idea what to do? I really do not want to rebase and rewrite thousands of commits with questionable success. Doing that locally also does not change the output from "git log", in case you are wondering. This problem will reemerge eventually whenever an author wants to change to another email address it seems so is this a bug?

Any help/pointers appreciated.
Martin
Đoàn Trần Công Danh· Oct 23, 2021, 06:16 UTC · re: Schanzenbach, Martin · lore

Re: git log displaying wrong account information

On 2021-10-23 05:58:37+0000, "Schanzenbach, Martin" <mschanzenbach@posteo.de> wrote:
Show 10 quoted lines
> Hello,
> 
> there is some odd behaviour in "git log" which affects me in various ways:
> For some reason, it "canonicalizes" the author/commiter information in our repository: https://git.gnunet.org/git/gnunet.git
> 5 years ago or so I was using another email address for commits. I have been using a different email address since that.
> 
> But if you clone this repo, and take a look at a recent commit such
> as be9b998b3369056c7c8fb0ae84fb4e2a064b496c using "git log", you
> will see that my email address is actually the old one and different
> from the _real_ information.
By old one, do you mean:
	Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de>
It's because you have those entries in .mailmap:

---- 8< ---- Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de> Schanzenbach, Martin <martin.schanzenbach@aisec.fraunhofer.de> Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de> Schanzenbach, Martin <mschanzenbach@posteo.de> Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de> Martin Schanzenbach <mschanzenbach@posteo.de> ---- >8 -----

Which will map your:
	Martin Schanzenbach <mschanzenbach@posteo.de>
into it.
Show 12 quoted lines
> You can see that I correctly set the author/commiter email here
> using either cgit
> (https://git.gnunet.org/gnunet.git/commit/?id=be9b998b3369056c7c8fb0ae84fb4e2a064b496c)
> or a specific format such as
> 
> $ git log --pretty=format:"[%h] %cd - Committer: %cn (%ce), Author: %an (%ae)
> 
> This is driving me crazy as the information is just plain wrong and
> when our CI tries to collect a blamelist when sending out
> notifications, it also uses the info from "git log" instead of the
> actual author/commiter emails, promptly sending the reports to the
> wrong account.

The original value is recorded in the commit. You can retrieve raw value with git-cat-file

> 
> Any idea what to do?
Change your mailmap entries to:

---- 8< --- Martin Schanzenbach <mschanzenbach@posteo.de> Schanzenbach, Martin <martin.schanzenbach@aisec.fraunhofer.de> Martin Schanzenbach <mschanzenbach@posteo.de> Schanzenbach, Martin <mschanzenbach@posteo.de> Martin Schanzenbach <mschanzenbach@posteo.de> Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de> ---- >8 ----

Show 9 quoted lines
> I really do not want to rebase and rewrite
> thousands of commits with questionable success.
> Doing that locally also does not change the output from "git log", in case you are wondering.
> This problem will reemerge eventually whenever an author wants to
> change to another email address it seems so is this a bug?
> 
> Any help/pointers appreciated.
> 
> Martin
-- 
Danh
Schanzenbach, Martin· Oct 23, 2021, 06:21 UTC · re: Đoàn Trần Công Danh · lore

Re: git log displaying wrong account information

Thanks! I did not know about that file.
Show 75 quoted lines
> On 23. Oct 2021, at 08:16, Đoàn Trần Công Danh <congdanhqx@gmail.com> wrote:
> 
> On 2021-10-23 05:58:37+0000, "Schanzenbach, Martin" <mschanzenbach@posteo.de> wrote:
>> Hello,
>> 
>> there is some odd behaviour in "git log" which affects me in various ways:
>> For some reason, it "canonicalizes" the author/commiter information in our repository: https://git.gnunet.org/git/gnunet.git
>> 5 years ago or so I was using another email address for commits. I have been using a different email address since that.
>> 
>> But if you clone this repo, and take a look at a recent commit such
>> as be9b998b3369056c7c8fb0ae84fb4e2a064b496c using "git log", you
>> will see that my email address is actually the old one and different
>> from the _real_ information.
> 
> By old one, do you mean:
> 
> 	Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de>
> 
> It's because you have those entries in .mailmap:
> 
> ---- 8< ----
> Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de> Schanzenbach, Martin <martin.schanzenbach@aisec.fraunhofer.de>
> Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de> Schanzenbach, Martin <mschanzenbach@posteo.de>
> Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de> Martin Schanzenbach <mschanzenbach@posteo.de>
> ---- >8 -----
> 
> Which will map your:
> 
> 	Martin Schanzenbach <mschanzenbach@posteo.de>
> 
> into it.
> 
> 
>> You can see that I correctly set the author/commiter email here
>> using either cgit
>> (https://git.gnunet.org/gnunet.git/commit/?id=be9b998b3369056c7c8fb0ae84fb4e2a064b496c)
>> or a specific format such as
>> 
>> $ git log --pretty=format:"[%h] %cd - Committer: %cn (%ce), Author: %an (%ae)
>> 
>> This is driving me crazy as the information is just plain wrong and
>> when our CI tries to collect a blamelist when sending out
>> notifications, it also uses the info from "git log" instead of the
>> actual author/commiter emails, promptly sending the reports to the
>> wrong account.
> 
> The original value is recorded in the commit. You can retrieve raw
> value with git-cat-file
> 
>> 
>> Any idea what to do?
> 
> Change your mailmap entries to:
> 
> ---- 8< ---
> Martin Schanzenbach <mschanzenbach@posteo.de> Schanzenbach, Martin <martin.schanzenbach@aisec.fraunhofer.de>
> Martin Schanzenbach <mschanzenbach@posteo.de> Schanzenbach, Martin <mschanzenbach@posteo.de>
> Martin Schanzenbach <mschanzenbach@posteo.de> Martin Schanzenbach <martin.schanzenbach@aisec.fraunhofer.de>
> ---- >8 ----
> 
> 
>> I really do not want to rebase and rewrite
>> thousands of commits with questionable success.
>> Doing that locally also does not change the output from "git log", in case you are wondering.
>> This problem will reemerge eventually whenever an author wants to
>> change to another email address it seems so is this a bug?
>> 
>> Any help/pointers appreciated.
>> 
>> Martin
> 
> 
> 
> --
> Danh

← back to recent threads