# Commits are no longer gpg-signed in 2.9.0 when "commit.gpgsign" is enabled

5 messages from 2016-07-11 to 2016-07-11. Participants: Nils Fenner, Santiago Torres, Junio C Hamano.
Thread: https://gitlist.dev/t/42816

## Nils Fenner, 2016-07-11 11:29

Subject: Commits are no longer gpg-signed in 2.9.0 when "commit.gpgsign" is enabled
Message-ID: <57838306.5090505@web.de>
URL: https://gitlist.dev/e/57838306.5090505%40web.de

```
Hey Git community,

since Version 2.9.0, the configuration option "commit.gpgsign" doesn't 
work as users would expect. By committing via 'git gui' (or usual 'git 
commit'  without further option), commits are not being auto-signed any 
longer, when "commit.gpgSign" configuration option is set. I also 
couldn't find a flag to "workaround" that situation in the GUI. To my 
understanding, I now have to pass the '-S' option to 'git commit' every 
time and GUI becomes "impractical to use". Surprisingly, nobody seems 
having noticed this behavioural change since the release of 2.9.

FYI: In the release log, there's a note stating, that this has been 
altered in the context of 'git commit-tree'. Maybe this interferes with 
"normal" behaviour.

Would be happy hearing from you soon. Thanks!

Cheers,
Nils



```

## Santiago Torres, 2016-07-11 14:44

Subject: Re: Commits are no longer gpg-signed in 2.9.0 when "commit.gpgsign" is enabled
Message-ID: <20160711144420.nsibnudjxvgdz7cl@LykOS.localdomain>
URL: https://gitlist.dev/e/20160711144420.nsibnudjxvgdz7cl%40LykOS.localdomain
In-Reply-To: <57838306.5090505@web.de>

```
Hi Nils,

I just checked and I have commits made in 2.9 with this option set and I
don't seem to have your issue. Here's what I did:

    santiago at ~/test-signing ✔ git init
    Initialized empty Git repository in /home/santiago/test-signing/.git/
    santiago at ~/test-signing ✔ hub create
    Updating origin
    Enter passphrase for key '/home/santiago/.ssh/id_rsa': 
    created repository: SantiagoTorres/test-signing
    santiago at ~/test-signing ✔ touch testfile
    santiago at ~/test-signing ✔ git add testfile 
    santiago at ~/test-signing ✔ git commit
    i[master (root-commit) 6de1ad2] TEST: tests git autocommit setting
     1 file changed, 0 insertions(+), 0 deletions(-)
     create mode 100644 testfile
    santiago at ~/test-signing ✔ git log --show-signature
    commit 6de1ad20237f042433f8b94a3bf8c7cc41711d90 (HEAD -> refs/heads/master)
    gpg: Signature made Mon 11 Jul 2016 10:40:41 AM EDT using RSA key ID 468F122CE8162295
    gpg: Good signature from "Santiago Torres <torresariass@gmail.com>" [ultimate]
    gpg:                 aka "Santiago Torres-Arias <santiago@nyu.edu>" [ultimate]
    Author: Santiago Torres <torresariass@gmail.com>
    Date:   Mon Jul 11 10:40:32 2016 -0400

        TEST: tests git autocommit setting
    santiago at ~/test-signing ✔ git push origin master
    Enter passphrase for key '/home/santiago/.ssh/id_rsa': 
    Counting objects: 3, done.
    Writing objects: 100% (3/3), 879 bytes | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To git@github.com:SantiagoTorres/test-signing.git
     * [new branch]      master -> master
    santiago at ~/test-signing ✔ git --version
    git version 2.9.0
    santiago at ~/test-signing ✔ 

You can check the github repository 

Do you have a mwe/.gitconfig so I can take a look at it? 

I wonder if this issue is similar to what happened in mutt, where gpg
doesn't show the password prompt using gpg-agent and it silently failed.

Thanks,
-Santiago.

On Mon, Jul 11, 2016 at 01:29:10PM +0200, Nils Fenner wrote:
> Hey Git community,
> 
> since Version 2.9.0, the configuration option "commit.gpgsign" doesn't work
> as users would expect. By committing via 'git gui' (or usual 'git commit'
> without further option), commits are not being auto-signed any longer, when
> "commit.gpgSign" configuration option is set. I also couldn't find a flag to
> "workaround" that situation in the GUI. To my understanding, I now have to
> pass the '-S' option to 'git commit' every time and GUI becomes "impractical
> to use". Surprisingly, nobody seems having noticed this behavioural change
> since the release of 2.9.
> 
> FYI: In the release log, there's a note stating, that this has been altered
> in the context of 'git commit-tree'. Maybe this interferes with "normal"
> behaviour.
> 
> Would be happy hearing from you soon. Thanks!
> 
> Cheers,
> Nils
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

```

## Nils Fenner, 2016-07-11 16:27

Subject: Re: Commits are no longer gpg-signed in 2.9.0 when "commit.gpgsign" is enabled
Message-ID: <5783C90D.1010909@web.de>
URL: https://gitlist.dev/e/5783C90D.1010909%40web.de
In-Reply-To: <20160711144420.nsibnudjxvgdz7cl@LykOS.localdomain>

```
Hi Santiago,

repeated your test here and actually found something interesting. When
committing via 'git gui', commits are not being gpg-signed, while firing
a 'git commit' shows the passphrase dialog and signs the commit correctly.

Here's what I did:

git init gpg-signing-test && cd gpg-signing-test
git config --local commit.gpgSign true
echo 'Commits in this repo must all GPG signed!' > aFile.txt
git gui --> add change and commit

Result: No dialog shown and not pgp-signed!

Now I went further:
vi aFile.txt --> Prepend a "# " as another change
git commit

Here the passphrase dialog showed up and the commit got correctly signed!

Side-Note: I also set "user. signingkey" in "global" Git configuration.

My local repo's config:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[commit]
    gpgSign = true
[gui]
    wmstate = normal
    geometry = 872x391+0+0 205 177

-- 

What you mean by wme? Is it the gpg-agent's config or something?

Hope that points in the right direction.

Cheers,
Nils

Am 11.07.2016 um 16:44 schrieb Santiago Torres:
> Hi Nils,
>
> I just checked and I have commits made in 2.9 with this option set and I
> don't seem to have your issue. Here's what I did:
>
>     santiago at ~/test-signing ✔ git init
>     Initialized empty Git repository in /home/santiago/test-signing/.git/
>     santiago at ~/test-signing ✔ hub create
>     Updating origin
>     Enter passphrase for key '/home/santiago/.ssh/id_rsa': 
>     created repository: SantiagoTorres/test-signing
>     santiago at ~/test-signing ✔ touch testfile
>     santiago at ~/test-signing ✔ git add testfile 
>     santiago at ~/test-signing ✔ git commit
>     i[master (root-commit) 6de1ad2] TEST: tests git autocommit setting
>      1 file changed, 0 insertions(+), 0 deletions(-)
>      create mode 100644 testfile
>     santiago at ~/test-signing ✔ git log --show-signature
>     commit 6de1ad20237f042433f8b94a3bf8c7cc41711d90 (HEAD -> refs/heads/master)
>     gpg: Signature made Mon 11 Jul 2016 10:40:41 AM EDT using RSA key ID 468F122CE8162295
>     gpg: Good signature from "Santiago Torres <torresariass@gmail.com>" [ultimate]
>     gpg:                 aka "Santiago Torres-Arias <santiago@nyu.edu>" [ultimate]
>     Author: Santiago Torres <torresariass@gmail.com>
>     Date:   Mon Jul 11 10:40:32 2016 -0400
>
>         TEST: tests git autocommit setting
>     santiago at ~/test-signing ✔ git push origin master
>     Enter passphrase for key '/home/santiago/.ssh/id_rsa': 
>     Counting objects: 3, done.
>     Writing objects: 100% (3/3), 879 bytes | 0 bytes/s, done.
>     Total 3 (delta 0), reused 0 (delta 0)
>     To git@github.com:SantiagoTorres/test-signing.git
>      * [new branch]      master -> master
>     santiago at ~/test-signing ✔ git --version
>     git version 2.9.0
>     santiago at ~/test-signing ✔ 
>
> You can check the github repository 
>
> Do you have a mwe/.gitconfig so I can take a look at it? 
>
> I wonder if this issue is similar to what happened in mutt, where gpg
> doesn't show the password prompt using gpg-agent and it silently failed.
>
> Thanks,
> -Santiago.
>
> On Mon, Jul 11, 2016 at 01:29:10PM +0200, Nils Fenner wrote:
>> Hey Git community,
>>
>> since Version 2.9.0, the configuration option "commit.gpgsign" doesn't work
>> as users would expect. By committing via 'git gui' (or usual 'git commit'
>> without further option), commits are not being auto-signed any longer, when
>> "commit.gpgSign" configuration option is set. I also couldn't find a flag to
>> "workaround" that situation in the GUI. To my understanding, I now have to
>> pass the '-S' option to 'git commit' every time and GUI becomes "impractical
>> to use". Surprisingly, nobody seems having noticed this behavioural change
>> since the release of 2.9.
>>
>> FYI: In the release log, there's a note stating, that this has been altered
>> in the context of 'git commit-tree'. Maybe this interferes with "normal"
>> behaviour.
>>
>> Would be happy hearing from you soon. Thanks!
>>
>> Cheers,
>> Nils
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe git" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html



```

## Santiago Torres, 2016-07-11 16:51

Subject: Re: Commits are no longer gpg-signed in 2.9.0 when "commit.gpgsign" is enabled
Message-ID: <20160711165108.iv2wq2m2vfh5mate@LykOS.localdomain>
URL: https://gitlist.dev/e/20160711165108.iv2wq2m2vfh5mate%40LykOS.localdomain
In-Reply-To: <5783C90D.1010909@web.de>

```
On Mon, Jul 11, 2016 at 06:27:57PM +0200, Nils Fenner wrote:
> Hi Santiago,
> 
> repeated your test here and actually found something interesting. When
> committing via 'git gui', commits are not being gpg-signed, while firing
> a 'git commit' shows the passphrase dialog and signs the commit correctly.

I have the feeling that this is an issue with your gpg configuration not
playing well with the gui. Do you know which pinentry program is being
used (e.g., type /usr/bin/pinentry).

 
> What you mean by wme? Is it the gpg-agent's config or something?
> 

Sorry, I meant a Minimum Working Example, although that'll be hard to
reproduce in this case. Your configuration seems to be proper.

> Hope that points in the right direction.

I think that we can take further troubleshooting off-list. This doesn't
seem to be behavior with git (although we can come back with a bug
report if something is naturally-broken/could be improved)

Cheers!
-Santiago.

```

## Junio C Hamano, 2016-07-11 18:09

Subject: Re: Commits are no longer gpg-signed in 2.9.0 when "commit.gpgsign" is enabled
Message-ID: <CAPc5daU4qMhpa7EuTyJWF+CtzWOcAPntqj800u-RGmHTUVShqA@mail.gmail.com>
URL: https://gitlist.dev/e/CAPc5daU4qMhpa7EuTyJWF%2BCtzWOcAPntqj800u-RGmHTUVShqA%40mail.gmail.com
In-Reply-To: <5783C90D.1010909@web.de>

```
On Mon, Jul 11, 2016 at 9:27 AM, Nils Fenner <nilsfenner@web.de> wrote:
> Hi Santiago,
>
> repeated your test here and actually found something interesting. When
> committing via 'git gui', commits are not being gpg-signed, while firing
> a 'git commit' shows the passphrase dialog and signs the commit correctly.

"git gui" probably needs an update similar to what was discussed in this thread
http://thread.gmane.org/gmane.comp.version-control.git/293292/focus=293426

```
