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

3 messages from 2021-04-07 to 2021-04-07. Participants: Matthias Beyer, Taylor Blau.
Thread: https://gitlist.dev/t/55445

## Matthias Beyer, 2021-04-07 13:42

Subject: signed-off-by not overwritten with GIT_AUTHOR_NAME...?
Message-ID: <20210407134201.kxijiev5sn346bsy@hoshi>
URL: https://gitlist.dev/e/20210407134201.kxijiev5sn346bsy%40hoshi

```
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, 2021-04-07 13:54

Subject: Re: signed-off-by not overwritten with GIT_AUTHOR_NAME...?
Message-ID: <YG25jNZH9ATfwlMu@nand.local>
URL: https://gitlist.dev/e/YG25jNZH9ATfwlMu%40nand.local
In-Reply-To: <20210407134201.kxijiev5sn346bsy@hoshi>

```
On Wed, Apr 07, 2021 at 03:42:01PM +0200, Matthias Beyer wrote:
> 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.

> 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, 2021-04-07 14:00

Subject: Re: signed-off-by not overwritten with GIT_AUTHOR_NAME...?
Message-ID: <20210407140017.5m523lua2l3cluk3@hoshi>
URL: https://gitlist.dev/e/20210407140017.5m523lua2l3cluk3%40hoshi
In-Reply-To: <YG25jNZH9ATfwlMu@nand.local>

```
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

```
