Re: [PATCH v2] help: make option --help open man pages only for Git commands
From: Philip Oakley <hidden>
Date: 2016-08-15 20:41:01
From: "Junio C Hamano" <redacted>
"Philip Oakley" [off-list ref] writes:quoted
I'm still not sure this is enough. One of the problems back when I introduced the --guides option (65f9835 (builtin/help.c: add --guide option, 2013-04-02)) was that we had no easy way of determining what guides were available, especially given the *nix/Windows split where the help defaults are different (--man/--html). At the time[1] we (I) punted on trying to determine which guides were actually installed, and just created a short list of the important guides, which I believe you now check. However the less common guides are still there (gitcvs-migration?), and others may be added locally.I think we should do both; "git help cvs-migration" should keep the same codeflow and behaviour as we have today (so that it would still work), while "git cvs-migration --help" should say "'cvs-migration' is not a git command". That would be a good clean-up anyway. It obviously cannot be done if git.c::handle_builtin() does the same "swap <word> --help to help <word>" hack, but we could improve that part (e.g. rewrite it to "help --swapped <word>" to allow cmd_help() to notice). When the user said "<word> --help", we don't do guides, when we swapped the word order, we check with guides, too.
The other option is to simply build a guide-list in exactly the same format as the command list (which if it works can be merged later). Re-use the existing code, etc. I did propose that in my very first patch series, but it was probably a step too far at the time, as it stepped on the toes of your (junio's) script for the command list. The link in my previous patch got mangled a possible start point for Ralf for looking at building a guide list would be http://public-inbox.org/git/1361660761-1932-7-git-send-email-philipoakley@iee.org/ (which worked back then ;-) Philip