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

5 messages, 3 authors, 2016-07-11 · open the first message on its own page

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

From: Nils Fenner <hidden>
Date: 2016-07-11 11:29:24

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

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

From: Santiago Torres <hidden>
Date: 2016-07-11 14:45:13

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 [off-list ref]" [ultimate]
    gpg:                 aka "Santiago Torres-Arias [off-list ref]" [ultimate]
    Author: Santiago Torres [off-list ref]
    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

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

From: Nils Fenner <hidden>
Date: 2016-07-11 16:28:21

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 [off-list ref]" [ultimate]
    gpg:                 aka "Santiago Torres-Arias [off-list ref]" [ultimate]
    Author: Santiago Torres [off-list ref]
    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:
quoted
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

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

From: Santiago Torres <hidden>
Date: 2016-07-11 16:51:20

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.

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

From: Junio C Hamano <hidden>
Date: 2016-07-11 18:09:36

On Mon, Jul 11, 2016 at 9:27 AM, Nils Fenner [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help