Nguyễn Thái Ngọc Duy <[email protected]> writes:
> The current generate-cmds.sh generates just enough to print "git help"
> output. That is, it only extracts help text for common commands.
>
> The script is now updated to extract help text for all commands and
> keep command classification a new file, command-list.h. This will be
> useful later:
>
> - "git help -a" could print a short summary of all commands instead of
> just the common ones.
>
> - "git" could produce a list of commands of one or more category. One
> of its use is to reduce another command classification embedded in
> git-completion.bash.
>
> The new file can be generated but is not used anywhere yet. The plan
> is we migrate away from common-cmds.h. Then we can kill off
> common-cmds.h build rules and generation code (and also delete
> duplicate content in command-list.h which we keep for now to not mess
> generate-cmds.sh up too much).
>
> PS. The new fixed column requirement on command-list.txt is
> technically not needed. But it helps simplify the code a bit at this
> stage. We could lift this restriction later if we want to.
> ---
Missing sign-off.
> diff --git a/generate-cmdlist.sh b/generate-cmdlist.sh
> index 31b6d886cb..c9fd524760 100755
> --- a/generate-cmdlist.sh
> +++ b/generate-cmdlist.sh
> @@ -1,5 +1,27 @@
> #!/bin/sh
>
> +die () {
> + echo "$@" >&2
> + exit 1
> +}
> +
> +command_list () {
> + sed '1,/^### command list/d;/^#/d' "$1"
> +}
> +
> +get_categories() {
Here and define_categories() below lack SP before (), and all others
do. Be consistent.
> + tr ' ' '\n'|
> + grep -v '^$' |
> + sort |
> + uniq
> +}
> +
> +category_list () {
> + command_list "$1" |
> + cut -c 40- |
> + get_categories
> +}
> +
> get_synopsis () {
> sed -n '
> /^NAME/,/'"$1"'/H
> @@ -10,14 +32,51 @@ get_synopsis () {
> }' "Documentation/$1.txt"
> }
>
> +define_categories() {
> + echo
> + echo "/* Command categories */"
> +...
> };
> +"
> +if [ -z "$2" ]
if test -z "$2"