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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.