Re: tests do not work with gpg 2.1
- From
Jeff King <peff@peff.net>
- Date
- Dec 2, 2014, 21:30 UTC
- Message-ID
- <20141202213002.GA25338@peff.net>
- In-Reply-To
- <20141202212133.GE23461@peff.net>
On Tue, Dec 02, 2014 at 04:21:33PM -0500, Jeff King wrote:
Show 8 quoted lines
> 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