Subject: Re: tests do not work with gpg 2.1

From: Jeff King <[email-masked]>
Date: Tue, 2 Dec 2014 16:30:03 -0500

On Tue, Dec 02, 2014 at 04:21:33PM -0500, Jeff King wrote:

> I'm not sure if the most expedient path is trying to convince gpg
> developers that it's a bug, or if there is some workaround (like
> "--passphrase-file /dev/null" or something).
> 
> I've been using the patch below to test, and am tempted to offer it for
> inclusion. But if we need to hack up the gpg command-line just for the
> tests, then lib-gpg.sh would end up setting gpg.program, and that would
> override what my patch is doing anyway.

So...I tried that. So many things went wrong. :)

For one thing, the build-time GPG_PATH patch I posted is not quite
enough. We would probably want to pass it down to the test scripts, too,
as they run "gpg --version" to figure out whether we have gpg or not.

Secondly, you cannot set gpg.program to "gpg2 --passphrase-file
/dev/null", because we do not use the shell to exec gpg.program. This is
unlike most of the rest of git-spawned programs, but of course changing
it has compatibility problems. We'd probably want gpg.command or
something as an alternative.

And finally, after convincing git to really use "--passphrase-file", I
find that it does not fix the problem at all. GPG still insists on
opening an agent window. Nor does "--batch" help.

So I dunno. Maybe there is some clever way to work around it, but I do
not know it.

-Peff