From: Junio C Hamano <gitster@pobox.com>
To: "Santi Bejar" <sbejar@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] git help: sort commands by topi
Date: Mon, 18 Feb 2008 02:15:35 -0800 [thread overview]
Message-ID: <7vlk5ipo3c.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <87hcg77i6i.fsf@gmail.com> (Santi Bejar's message of "Sun, 17 Feb 2008 15:48:21 +0100")
"Santi Bejar" <sbejar@gmail.com> writes:
> P.D: Does anyone know how can I know the reason for the drops?
I'd love to know that myself.
It would be interesting to install the kernel's checkpatch.pl
as anti-bogo-style filter on the mailing list ;-)
> 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?
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.
> -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?
> do
> sed -n '
> - /NAME/,/git-'"$cmd"'/H
> + /^NAME$/,/git-'"$cmd"'/H
Good tightening.
> ${
> 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...
> diff --git a/help.c b/help.c
> index 6e28ad9..0e3a350 100644
> --- a/help.c
> +++ b/help.c
> @@ -262,20 +262,48 @@ static void list_commands(void)
> ...
> + for (i = 0; i < ARRAY_SIZE(cmd_list); i++) {
> + if (strcmp(cmd_list[i].topic, topic)) continue;
> + if (!strcmp(topic_list[i].subtopic,"") &&
> + strcmp(cmd_list[i].subtopic, subtopic)) continue;
> + if (longest < strlen(cmd_list[i].name))
> + longest = strlen(cmd_list[i].name);
> }
Style. A statement comes on its own line, even if it is a
"continue" statement.
> + for (i = 0; i < ARRAY_SIZE(cmd_list); i++) {
> + if (strcmp(cmd_list[i].topic, topic)) continue;
> + if (!strcmp(topic_list[i].subtopic,"") &&
> + strcmp(cmd_list[i].subtopic, subtopic)) continue;
> + printf(" %s ", cmd_list[i].name);
> + mput_char(' ', longest - strlen(cmd_list[i].name));
> + puts(cmd_list[i].help);
> + }
> + putchar('\n');
Likewise.
> +void list_topics_help()
> +{
> + int i;
> + for (i = 0; i < ARRAY_SIZE(topic_list); i++) {
> + if(strcmp(topic_list[i].subtopic,"")) continue;
> + list_topic_cmds_help(topic_list[i].name,"");
> }
> }
Style. Have a SP before '(' if the previous token is not a
function name.
> 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.
next prev parent reply other threads:[~2008-02-18 10:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-17 14:48 [PATCH] git help: sort commands by topi Santi Bejar
2008-02-18 10:15 ` Junio C Hamano [this message]
2008-02-18 17:16 ` Santi Béjar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7vlk5ipo3c.fsf@gitster.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=sbejar@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).