Browse Source

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>
maint
Junio C Hamano 14 years ago
parent
commit
91a640ffb6
  1. 3
      builtin/ls-remote.c

3
builtin/ls-remote.c

@ -41,6 +41,9 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix) @@ -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];


Loading…
Cancel
Save