diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-09-16 11:14:27 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-09-16 11:19:43 -0700 |
commit | 91a640ffb6d9dd10c293a575a692d9771b6e13c7 (patch) | |
tree | 57d7b2bc83a467e8b5b6bdb22de36769b1ef7b98 | |
parent | Git 1.7.3 (diff) | |
download | tgif-91a640ffb6d9dd10c293a575a692d9771b6e13c7.tar.xz |
ls-remote: a lone "-h" is asking for help
What should happen if you run this command?
$ git ls-remote -h
It does not give a short-help for the command. Instead because "-h" is a
synonym for "--heads", it runs "git ls-remote --heads", and because there
is no remote specified on the command line, we run it against the default
"origin" remote, hence end up doing the same as
$ git ls-remote --heads origin
Fix this counter-intuitive behaviour by special casing a lone "-h" that
does not have anything else on the command line and calling usage().
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/ls-remote.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/builtin/ls-remote.c b/builtin/ls-remote.c index 97eed4012b..87d44bc625 100644 --- a/builtin/ls-remote.c +++ b/builtin/ls-remote.c @@ -41,6 +41,9 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix) struct transport *transport; const struct ref *ref; + if (argc == 2 && !strcmp("-h", argv[1])) + usage(ls_remote_usage); + for (i = 1; i < argc; i++) { const char *arg = argv[i]; |