diff options
author | Dave Borowitz <dborowitz@google.com> | 2015-08-19 18:26:46 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-08-19 22:58:45 +0300 |
commit | 30261094b1f7fdcba3b7a1f396e43891cd998149 (patch) | |
tree | 1ad9cc07d3c3dc5fb1a07c878be7f9b0fe2d4dde /builtin/send-pack.c | |
parent | 068c77a5189584de2a8d9c2ad29e2370159444ae (diff) |
push: support signing pushes iff the server supports it
Add a new flag --sign=true (or --sign=false), which means the same
thing as the original --signed (or --no-signed). Give it a third
value --sign=if-asked to tell push and send-pack to send a push
certificate if and only if the server advertised a push cert nonce.
If not, warn the user that their push may not be as secure as they
thought.
Signed-off-by: Dave Borowitz <dborowitz@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/send-pack.c')
-rw-r--r-- | builtin/send-pack.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/builtin/send-pack.c b/builtin/send-pack.c index 5f2c7441f3..0ce3bc8c41 100644 --- a/builtin/send-pack.c +++ b/builtin/send-pack.c @@ -118,7 +118,7 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix) unsigned send_mirror = 0; unsigned force_update = 0; unsigned quiet = 0; - unsigned push_cert = 0; + int push_cert = 0; unsigned use_thin_pack = 0; unsigned atomic = 0; unsigned stateless_rpc = 0; @@ -137,7 +137,9 @@ int cmd_send_pack(int argc, const char **argv, const char *prefix) OPT_BOOL('n' , "dry-run", &dry_run, N_("dry run")), OPT_BOOL(0, "mirror", &send_mirror, N_("mirror all refs")), OPT_BOOL('f', "force", &force_update, N_("force updates")), - OPT_BOOL(0, "signed", &push_cert, N_("GPG sign the push")), + { OPTION_CALLBACK, + 0, "signed", &push_cert, "yes|no|if-asked", N_("GPG sign the push"), + PARSE_OPT_OPTARG, option_parse_push_signed }, OPT_BOOL(0, "progress", &progress, N_("force progress reporting")), OPT_BOOL(0, "thin", &use_thin_pack, N_("use thin pack")), OPT_BOOL(0, "atomic", &atomic, N_("request atomic transaction on remote side")), |