threads / discuss / 55445

signed-off-by not overwritten with GIT_AUTHOR_NAME...?

Subject: signed-off-by not overwritten with GIT_AUTHOR_NAME...?

## tl;dr

3 messages between Apr 7, 2021 and Apr 7, 2021.

replies: 2people: 2as markdown or json

Matthias Beyer· Apr 7, 2021, 13:42 UTC · lore
Hi,

I just found that overwriting the GIT_AUTHOR_EMAIL and GIT_AUTHOR_NAME env variables does alter the author when committing, but does not overwrite the --signoff entry. Is this intentional?

To reproduce:
    cd /tmp
    mkdir foo
    cd foo
    git init
    touch foo
    git add foo
    GIT_AUTHOR_EMAIL=nobody@nomail.de GIT_AUTHOR_NAME="Someone Else" git commit -s -m test
    git show
I'm tested this for 2.29.3 and 2.29.2.

The manpage (2.29.3) does not say anything related to that under the `--signoff` entry, nor under the `COMMIT INFORMATION` section!

If this is a bug, I'd love to contribute a patch, if someone can take my hand and guide me to the right places!

Please keep me in CC, I'm not subscribed.
-- 
Matthias
Taylor Blau· Apr 7, 2021, 13:54 UTC · re: Matthias Beyer · lore

Re: signed-off-by not overwritten with GIT_AUTHOR_NAME...?

On Wed, Apr 07, 2021 at 03:42:01PM +0200, Matthias Beyer wrote:
Show 5 quoted lines
> Hi,
>
> I just found that overwriting the GIT_AUTHOR_EMAIL and GIT_AUTHOR_NAME env
> variables does alter the author when committing, but does not overwrite the
> --signoff entry. Is this intentional?

It is intentional. The identity used for signoff is the committer's, not the author's. The documentation for `--signoff` in git-commit(1) says (emphasis mine):

  [...] it typically certifies that *committer* has the rights to submit
  this work

And indeed 'sequencer.c:append_signoff()' calls 'fmt_name()' with WANT_COMMITTER_IDENT, not WANT_AUTHOR_IDENT.

Show 11 quoted lines
> To reproduce:
>
>     cd /tmp
>     mkdir foo
>     cd foo
>     git init
>     touch foo
>     git add foo
>     GIT_AUTHOR_EMAIL=nobody@nomail.de GIT_AUTHOR_NAME="Someone Else" git commit -s -m test
>     git show
>

All of the above is to say that if you s/AUTHOR/COMMITTER in your example above, it will do what you expect.

Thanks, Taylor

Matthias Beyer· Apr 7, 2021, 14:00 UTC · re: Taylor Blau · lore

Re: signed-off-by not overwritten with GIT_AUTHOR_NAME...?

On 07-04-2021 09:54:20, Taylor Blau wrote:
> [...] if you s/AUTHOR/COMMITTER in your example above, it will do what you
> expect.
Ah, awsome! Thanks for the explanation!
Matthias

← back to recent threads