diff options
author | Michael J Gruber <git@drmicha.warpmail.net> | 2014-10-22 18:57:49 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-10-24 21:50:05 +0400 |
commit | b9459019bbb7b864cf59fa307953834996ab4dbe (patch) | |
tree | 29908d1a8bbe354c9151f215480e06ab6af3857f /builtin/push.c | |
parent | 6f5ef44e0d8933621fcd50127518557013002313 (diff) |
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.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/builtin/push.c b/builtin/push.c index ae56f73a66e..a076b1964d6 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)))) |