diff options
author | Junio C Hamano <gitster@pobox.com> | 2015-08-31 15:39:07 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-31 15:39:08 -0700 |
commit | b21089db6a6006bcf9233f0d8592044ca5553c6a (patch) | |
tree | 3180d1a82829f4d9480e43bf68a5f1a4725aa31b /transport.c | |
parent | 5b6211aee1f042a6961ef8a6bd8286db51bfc513 (diff) | |
parent | 68c757f2199911005918aba45aa8ae0fecc72074 (diff) | |
download | git-b21089db6a6006bcf9233f0d8592044ca5553c6a.tar.gz |
Merge branch 'db/push-sign-if-asked'
The client side codepaths in "git push" have been cleaned up
and the user can request to perform an optional "signed push",
i.e. sign only when the other end accepts signed push.
* db/push-sign-if-asked:
push: add a config option push.gpgSign for default signed pushes
push: support signing pushes iff the server supports it
builtin/send-pack.c: use parse_options API
config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
transport: remove git_transport_options.push_cert
gitremote-helpers.txt: document pushcert option
Documentation/git-send-pack.txt: document --signed
Documentation/git-send-pack.txt: wrap long synopsis line
Documentation/git-push.txt: document when --signed may fail
Diffstat (limited to 'transport.c')
-rw-r--r-- | transport.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/transport.c b/transport.c index 788cf20585..2d51348f3f 100644 --- a/transport.c +++ b/transport.c @@ -476,9 +476,6 @@ static int set_git_option(struct git_transport_options *opts, die("transport: invalid depth option '%s'", value); } return 0; - } else if (!strcmp(name, TRANS_OPT_PUSH_CERT)) { - opts->push_cert = !!value; - return 0; } return 1; } @@ -829,10 +826,16 @@ static int git_transport_push(struct transport *transport, struct ref *remote_re args.progress = transport->progress; args.dry_run = !!(flags & TRANSPORT_PUSH_DRY_RUN); args.porcelain = !!(flags & TRANSPORT_PUSH_PORCELAIN); - args.push_cert = !!(flags & TRANSPORT_PUSH_CERT); args.atomic = !!(flags & TRANSPORT_PUSH_ATOMIC); args.url = transport->url; + if (flags & TRANSPORT_PUSH_CERT_ALWAYS) + args.push_cert = SEND_PACK_PUSH_CERT_ALWAYS; + else if (flags & TRANSPORT_PUSH_CERT_IF_ASKED) + args.push_cert = SEND_PACK_PUSH_CERT_IF_ASKED; + else + args.push_cert = SEND_PACK_PUSH_CERT_NEVER; + ret = send_pack(&args, data->fd, data->conn, remote_refs, &data->extra_have); |