gpg-agent não é solicitado em chamadas git

gpg-agent não é solicitado em chamadas git

Nos commits do git (gpg),idiotacomando sempre pede senha enquantoagente gpgestá correndo.

eu lançoagente gpgcom

$ eval `gpg-agent -s --enable-ssh-support --daemon --write-env-file $HOME/.gpg-agent-info`

Então abro outro terminal e verifico se está funcionando:

$ cat ~/.gpg-agent-info
GPG_AGENT_INFO=/tmp/gpg-w2HH4r/S.gpg-agent:28539:1
SSH_AUTH_SOCK=/tmp/gpg-QQTJCD/S.gpg-agent.ssh
SSH_AGENT_PID=28539
$ ps -u $USER | grep gpg-agent
28539 ?        00:00:00 gpg-agent
$ echo $GPG_AGENT_INFO $SSH_AUTH_SOCK $SSH_AGENT_PID
/tmp/gpg-w2HH4r/S.gpg-agent:28539:1 /tmp/gpg-QQTJCD/S.gpg-agent.ssh 28539
$ echo test | gpg-aes -t D2FA51BD --use-agent | gpg --use-agent
....
test
....

O primeiro '....' diz que é necessária uma senha eagente gpglançamentospinentry-gtk-2. O último '....' diz quegpgestá assinando com o ID da chave.

Executar novamente o mesmo comando não pede senha

.

Mas ao executar o git,gpgpede a senha na linha de comando,não agente gpg com pinentry:

$ echo test >> test.txt ; git add test.txt ; git commit -S -m "test"
....
(intro passphrase)
....

Executando novamente (e novamente...) o mesmo comando sempre solicita a senha (para o mesmo ID de chave).

Meu.gitconfigsó definiu onome de usuárioee-mail. Ambos os comandos (gpgeidiota) pede o mesmo ID de chave. Chamandogpgcom--use-agentefunciona bem (sem ele não), masidiotanão tem opções para passargpg(somente valores de configuração do usuário em.gitconfig); e o ambiente está correto.

Exploração madeireiraagente gpgcomnível de depuração 8mostra apenas atividade comgpgcomando, mas nada comidiota.

estou a usargnupg 1.4.12eagente gpg 2.0.19(Debian Wheezy estável, repositórios oficiais). Clonei o git do repositório do github, compilei e instalei localmente a versão atual (2.3.0.rc1.30.g76afe74) com os mesmos resultados.

Verifiquei minhas configurações, mas não tenho ideia de que tipo de problema é esse. Alguma sugestão?

Obrigado

Responder1

Bobo eu... Opção de configuraçãoagente de usoemgpg.confresolve o problema.

Gitnão verifica seagente gpgestá correndo egpgprecisa ser chamado com a opção--use-agente.

Devo alterar meu comportamento padrão do GPG (opções)... e usar--no-use-agenteem outros cenários.

informação relacionada