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=[,...]. 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 " 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-
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