]> git.ipfire.org Git - thirdparty/git.git/commitdiff
builtin/send-pack.c: respect user.signingkey
authorJunio C Hamano <gitster@pobox.com>
Tue, 21 Jul 2015 22:06:43 +0000 (15:06 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Jul 2015 22:24:27 +0000 (15:24 -0700)
When git-send-pack is exec'ed, as is done by git-remote-http, it
does not read the config, and configured value of user.signingkey is
ignored. Thus it was impossible to specify a signing key over HTTP,
other than the default key in the keyring having a User ID matching
the "Name <email>" format.

This patch at least partially fixes the problem by reading in the GPG
config from within send-pack. It does not address the related problem
of plumbing a value for this configuration option using
`git -c user.signingkey push ...`.

Signed-off-by: Dave Borowitz <dborowitz@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/send-pack.c

index b961e5ae7856626ebc063e94bfeee75383d27aeb..23b2962cb0c1443b202bcab0b73023109e06999c 100644 (file)
@@ -11,6 +11,7 @@
 #include "transport.h"
 #include "version.h"
 #include "sha1-array.h"
+#include "gpg-interface.h"
 
 static const char send_pack_usage[] =
 "git send-pack [--all | --mirror] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [<host>:]<directory> [<ref>...]\n"
@@ -113,6 +114,8 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix)
        int from_stdin = 0;
        struct push_cas_option cas = {0};
 
+       git_config(git_gpg_config, NULL);
+
        argv++;
        for (i = 1; i < argc; i++, argv++) {
                const char *arg = *argv;