Re: [PATCH] git help: sort commands by topi
On Feb 18, 2008 11:15 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 19 quoted lines
> "Santi Bejar" <sbejar@gmail.com> writes:
> > diff --git a/generate-cmdlist.sh b/generate-cmdlist.sh
> > index a2913c2..ec623dd 100755
> > --- a/generate-cmdlist.sh
> > +++ b/generate-cmdlist.sh
> > @@ -3,22 +3,36 @@
> > echo "/* Automatically generated by $0 */
> > struct cmdname_help
> > {
> > - char name[16];
> > + char name[23];
> > char help[80];
> > + char topic[22];
> > + char subtopic[10];
> > };
>
> These limits are very magic. If you are generating them in the
> script perhaps you would want to count bytes?
>They were already there. Maybe in a cleanup patch.
Show 8 quoted lines
> I dunno. Honestly, I am not very interested in this patch
> myself.
>
> Side Note: my not being interested does not mean I
> strongly oppose to its inclusion (I do not even care).
> It is just that I won't be the one who will be pushing
> for its inclusion, and you would want supporters other
> than me to push for it.
Show 23 quoted lines
>
> > -static struct cmdname_help common_cmds[] = {"
> > +struct topicname_help
> > +{
> > + char name[23];
> > + char subtopic[10];
> > + char help[80];
> > +};
>
> Likewise.
>
> > -sed -n -e 's/^git-\([^ ]*\)[ ].* common.*/\1/p' command-list.txt |
> > -sort |
> > -while read cmd
> > +static struct cmdname_help cmd_list[] = {"
> > +
> > +sed -n -e 's/^git-\([^ ]*\)\(.*\)$/\1\2/p' command-list.txt |
> > +grep -v deprecated | sort |
> > +while read cmd topic subtopic
>
> I do not like this pipeline to send output of sed to an _overly_
> loose grep. What happens when we introduce "git-deprecated"
> command later?Show 12 quoted lines
> > ${
> > x
> > - s/.*git-'"$cmd"' - \(.*\)/ {"'"$cmd"'", "\1"},/
> > + s/.*git-'"$cmd"' - \(.*\)/ {"'"$cmd"'", "\1",/
> > p
> > }' "Documentation/git-$cmd.txt"
> > + echo "\"$topic\", \"$subtopic\" },"
>
> Breaks nicely indented entries like:
>
> {"add", "Add file contents...
>Sorry, but I do not undestand this.
[...]
Show 17 quoted lines
> > diff --git a/topic-list.txt b/topic-list.txt
> > new file mode 100644
> > index 0000000..2ba11a9
> > --- /dev/null
> > +++ b/topic-list.txt
> > @@ -0,0 +1,12 @@
> > +# List of known git topics.
> > +# topic name help
> > +common The most commonly used commands
> > +mainporcelain Main porcelain commands
> > ...
> > +synchelpers Synching helper commands
> > +purehelpers Internal helper commands
>
> I wonder if this can be shared with the section headings of
> Documentation/git.txt; either generate the section headings from
> this file, or generate this file from the section headings.
I'll look at it.
Thanks for the review.
Santi