summaryrefslogtreecommitdiff
path: root/builtin/push.c
diff options
context:
space:
mode:
authorMichael J Gruber <git@drmicha.warpmail.net>2014-10-22 14:57:49 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-10-24 17:50:05 (GMT)
commitb9459019bbb7b864cf59fa307953834996ab4dbe (patch)
tree29908d1a8bbe354c9151f215480e06ab6af3857f /builtin/push.c
parent6f5ef44e0d8933621fcd50127518557013002313 (diff)
downloadgit-b9459019bbb7b864cf59fa307953834996ab4dbe.zip
git-b9459019bbb7b864cf59fa307953834996ab4dbe.tar.gz
git-b9459019bbb7b864cf59fa307953834996ab4dbe.tar.bz2
push: heed user.signingkey for signed pushes
push --signed promises to take user.signingkey as the signing key but fails to read the config. Make it do so. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/push.c')
-rw-r--r--builtin/push.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/builtin/push.c b/builtin/push.c
index ae56f73..a076b19 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -471,6 +471,17 @@ static int option_parse_recurse_submodules(const struct option *opt,
return 0;
}
+static int git_push_config(const char *k, const char *v, void *cb)
+{
+ struct wt_status *s = cb;
+ int status;
+
+ status = git_gpg_config(k, v, NULL);
+ if (status)
+ return status;
+ return git_default_config(k, v, s);
+}
+
int cmd_push(int argc, const char **argv, const char *prefix)
{
int flags = 0;
@@ -511,7 +522,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
};
packet_trace_identity("push");
- git_config(git_default_config, NULL);
+ git_config(git_push_config, NULL);
argc = parse_options(argc, argv, prefix, options, push_usage, 0);
if (deleterefs && (tags || (flags & (TRANSPORT_PUSH_ALL | TRANSPORT_PUSH_MIRROR))))