Subject: Re: Bug report: Minor glitch in "git help" error message

From: Junio C Hamano <[email-masked]>
Date: Thu, 17 Apr 2025 18:24:46 -0700

Keith Thompson <[email-masked]> writes:

> What did you do before the bug happened? (Steps to reproduce your issue)
> git help nosuchcommand
>
> What did you expect to happen? (Expected behavior)
> An error message: "No manual entry for git-nosuchcommand"
>
> What happened instead? (Actual behavior)
> An error message: "No manual entry for gitnosuchcommand"

I am of two minds.  When "git help" is asked for commands, your
suggestion does make sense, i.e.

    $ git help dog-file
    No manual entry for gitdog-file

And these two are moral equivalents.

    $ git help cat-file
    $ man git-cat-file

But "git help" can ask for things other than subcommands.
For example, these two are equivalents.

    $ git help glossary
    $ man gitglossary

Notice the lack of "-" there?

> If "nosuchcommand" were a git command, the man page would be
> readable by typing "man git-nosuchcommand".  The error message
> should reflect that.  (The error message is actually produced
> by the "man" command.)

In other words, if "nosuchguide" were a concept with guide, the man
page is readable by "man gitnosuchguide", and the error message does
reflect it.

Unlike "git foo --help", where it is clear that the user expected a
subommand "foo", when the user says "git help foo", we cannot tell
whether the user asked for documentation for a command or a concept
guide, so adding "-" there is a bit like robbing Peter to pay Paul.

Thanks for a report.