threads / bug / 60451

[bug] 2.39.0: error in help for ls-remote

Subject: [bug] 2.39.0: error in help for ls-remote

## tl;dr

3 messages between Oct 31, 2023 and Oct 31, 2023.

replies: 2people: 2as markdown or json

Jeremy Hetzler· Oct 31, 2023, 18:11 UTC · lore
All,
The short help for ls-remote advertises that '-h' is short for '--heads':
Show 16 quoted lines
> usage: git ls-remote [--heads] [--tags] [--refs] [--upload-pack=<exec>]
>                      [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
>                      [--symref] [<repository> [<refs>...]]
>
>
>     -q, --quiet           do not print remote URL
>     --upload-pack <exec>  path of git-upload-pack on the remote host
>     -t, --tags            limit to tags
>     -h, --heads           limit to heads
>     --refs                do not show peeled tags
>     --get-url             take url.<base>.insteadOf into account
>     --sort <key>          field name to sort on
>     --exit-code           exit with exit code 2 if no matching refs are found
>     --symref              show underlying ref in addition to the object pointed by it
>     -o, --server-option <server-specific>
>                           option to transmit

However, 'git ls-remote -h' instead prints the help. So perhaps the help message should be revised.

git version 2.39.0

Thanks, Jeremy

Jeff King· Oct 31, 2023, 19:09 UTC · re: Jeremy Hetzler · lore

Re: [bug] 2.39.0: error in help for ls-remote

On Tue, Oct 31, 2023 at 02:11:23PM -0400, Jeremy Hetzler wrote:
> The short help for ls-remote advertises that '-h' is short for '--heads':
> [...]
> However, 'git ls-remote -h' instead prints the help. So perhaps the
> help message should be revised.
It does work as documented with an argument, like:
  git ls-remote -h <remote>

Yes, this is somewhat weird, but is a balance between consistency and backwards compatibility. See:

  https://lore.kernel.org/git/YU4QxcORBBR01iV8@coredump.intra.peff.net/
as a starting point for past discussions.

The manpage (or "--help") describes the behavior correctly; it may be that the "-h" output could do so as well, but it's sometimes hard to communicate such subtleties in such a terse format. So there may be room for a patch to make things more clear there, but I think it may be difficult to do well.

-Peff
Jeremy Hetzler· Oct 31, 2023, 23:06 UTC · re: Jeff King · lore

Re: [bug] 2.39.0: error in help for ls-remote

On Tue, Oct 31, 2023 at 3:10 PM Jeff King <peff@peff.net> wrote:
Show 19 quoted lines
>
> It does work as documented with an argument, like:
>
>   git ls-remote -h <remote>
>
> Yes, this is somewhat weird, but is a balance between consistency and
> backwards compatibility. See:
>
>   https://lore.kernel.org/git/YU4QxcORBBR01iV8@coredump.intra.peff.net/
>
> as a starting point for past discussions.
>
> The manpage (or "--help") describes the behavior correctly; it may be
> that the "-h" output could do so as well, but it's sometimes hard to
> communicate such subtleties in such a terse format. So there may be room
> for a patch to make things more clear there, but I think it may be
> difficult to do well.
>
> -Peff
I see.

I would still find it clearer if there were a fuller explanation in the "-h" output, but it's not a big deal. At least I'm not the only one who's been confused :)

Thanks, Jeremy

← back to recent threads