diff options
author | Jeff King <peff@peff.net> | 2017-05-30 07:13:43 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-05-30 07:45:04 +0200 |
commit | 619b6c1710f726866f62e34b01cc57c03b390299 (patch) | |
tree | 51fdfbb3ea8441b2b479fa7121127262eb6073f3 /builtin/upload-archive.c | |
parent | credential: handle invalid arguments earlier (diff) | |
download | git-619b6c1710f726866f62e34b01cc57c03b390299.tar.xz git-619b6c1710f726866f62e34b01cc57c03b390299.zip |
upload-archive: handle "-h" option early
Normally upload-archive forks off upload-archive--writer to
do the real work, and relays any errors back over the
sideband channel. This is a good thing when the command is
properly invoked remotely via ssh or git-daemon. But it's
confusing to curious users who try "git upload-archive -h".
Let's catch this invocation early and give a real usage
message, rather than spewing "-h does not appear to be a git
repository" amidst packet-lines. The chance of a false
positive due to a real client asking for the repo "-h" is
quite small.
Likewise, we'll catch "-h" in upload-archive--writer. People
shouldn't be invoking it manually, but it doesn't hurt to
give a sane message if they do.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/upload-archive.c')
-rw-r--r-- | builtin/upload-archive.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/builtin/upload-archive.c b/builtin/upload-archive.c index cde06977b7..84532ae9a9 100644 --- a/builtin/upload-archive.c +++ b/builtin/upload-archive.c @@ -22,7 +22,7 @@ int cmd_upload_archive_writer(int argc, const char **argv, const char *prefix) struct argv_array sent_argv = ARGV_ARRAY_INIT; const char *arg_cmd = "argument "; - if (argc != 2) + if (argc != 2 || !strcmp(argv[1], "-h")) usage(upload_archive_usage); if (!enter_repo(argv[1], 0)) @@ -76,6 +76,9 @@ int cmd_upload_archive(int argc, const char **argv, const char *prefix) { struct child_process writer = { argv }; + if (argc == 2 && !strcmp(argv[1], "-h")) + usage(upload_archive_usage); + /* * Set up sideband subprocess. * |