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

From: Nils Fenner <[email-masked]>
Date: Mon, 11 Jul 2016 18:27:57 +0200

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 <[email-masked]>" [ultimate]
>     gpg:                 aka "Santiago Torres-Arias <[email-masked]>" [ultimate]
>     Author: Santiago Torres <[email-masked]>
>     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 [email-masked]: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 [email-masked]
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html