From: Junio C Hamano Date: Fri, 16 Sep 2011 18:14:27 GMT Subject: [PATCH] ls-remote: a lone "-h" is asking for help Message-ID: <7vobykfj7g.fsf@alter.siamese.dyndns.org> 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 --- 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 1022309..41c88a9 100644 --- a/builtin/ls-remote.c +++ b/builtin/ls-remote.c @@ -43,6 +43,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];