[PATCH v5 00/10] Keep all info in command-list.txt in git binary
- From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
- Date
- Apr 29, 2018, 18:18 UTC
- Message-ID
- <20180429181844.21325-1-pclouds@gmail.com>
- In-Reply-To
- <20180421165414.30051-1-pclouds@gmail.com>
I think v5 is getting close to what I wanted to achieve from the RFC version (I skip v4 since I sent out v4/wip and another v4 may confuse people).
Interdiff is too large to be helpful, but the summary of changes compared to v3 is:
- common-cmds.h is renamed to command-list.h - the common group description is moved from command-list.txt to help.c to simplify command-list.txt format - generate-cmds.sh supports multiple categories per command, a new one "complete" is added to aid git-completion.bash - multiple --list-cmds options is replaced with --list-cmds=<type>[,<type>...]. This allows easier group customization in git-completion.bash (not happens yet) - __git_list_all_commands() and __git_list_porcelain_commands() for backward compatibility - "git help <tab>" completion also makes use of guide list in command-list.txt - better tests from Ramsay
There is one sticky point yet about the guides. I'll pull Phillip in and explain more in the relevant patch.
Nguyễn Thái Ngọc Duy (10): generate-cmds.sh: factor out synopsis extract code generate-cmds.sh: export all commands to command-list.h help: use command-list.h for common command list Remove common-cmds.h git.c: convert --list-*builtins to --list-cmds=* completion: implement and use --list-cmds=main,others git: support --list-cmds=list-<category> help: add "-a --verbose" to list all commands with synopsis help: use command-list.txt for the source of guides completion: let git provide the completable command list
.gitignore | 2 +- Documentation/git-help.txt | 4 +- Documentation/gitattributes.txt | 2 +- Documentation/gitmodules.txt | 2 +- Documentation/gitrevisions.txt | 2 +- Makefile | 16 +- builtin/help.c | 39 +---- command-list.txt | 67 ++++---- contrib/completion/git-completion.bash | 134 +++++----------- generate-cmdlist.sh | 126 ++++++++++----- git.c | 38 ++++- help.c | 209 +++++++++++++++++++++---- help.h | 5 + t/t0012-help.sh | 26 ++- t/t9902-completion.sh | 5 +- 15 files changed, 426 insertions(+), 251 deletions(-)
-- 2.17.0.664.g8924eee37a