Re: [PATCH v6 02/13] generate-cmds.sh: export all commands to command-list.h
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 8, 2018, 03:47 UTC
- Message-ID
- <xmqqmuxan70f.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20180507175222.12114-3-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
Show 24 quoted lines
> 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.
Show 17 quoted lines
> 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.
Show 26 quoted lines
> + 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"