From: Eric Sunshine <sunshine@sunshineco.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Sébastien Guimmara" <sebastien.guimmara@gmail.com>,
"Git List" <git@vger.kernel.org>
Subject: Re: [PATCH v7 1/5] command-list.txt: prepare with [commands] header
Date: Fri, 15 May 2015 19:55:34 -0400 [thread overview]
Message-ID: <20150515235534.GA31000@flurp.local> (raw)
In-Reply-To: <xmqqegmhfpeb.fsf@gitster.dls.corp.google.com>
On Fri, May 15, 2015 at 03:26:52PM -0700, Junio C Hamano wrote:
> Eric Sunshine <sunshine@sunshineco.com> writes:
> > On Fri, May 15, 2015 at 4:44 PM, Junio C Hamano <gitster@pobox.com> wrote:
> >> I was just pointing out that you did not even have to have patch
> >> 1/5.
> >
> > Is that entirely accurate? The machinery (Makefiles, cmd-list.perl)
> > does have to be updated at some point to skip the "common" block which
> > get added in patch 2/5.
>
> That is true, but if "# List of known git commands" instead of
> [commands] were used as the separator line, 1/5 wouldn't have needed
> any change to the Makefile.
>
> Of course, if you need to add lines that would appear as junk to the
> old parser (e.g. the grouping info), at that point you would of
> course need to tell the parser to skip them.
Right. Preparing the machinery for the the upcoming "common" group
was actually the intent of patch 1/5 in the proposal[1]. Introducing
the [commands] header at that stage was merely a rather ugly
implementation detail of that goal, and I wasn't particularly happy
about suggesting it due to its ugliness. Unfortunately, the 1/5
commit message didn't clarify the matter. So, your observation of the
seeming pointlessness of patch 1/5 (which adds the [commands] header
for apparently no good reason) is quite understandable.
A more properly focused commit message (along with your suggestion to
scan for a comment or other separator) might help to salvage 1/5.
Perhaps something like this:
--- >8 ---
From: Eric Sunshine <sunshine@sunshineco.com>
Subject: [PATCH 1/5] command-list: prepare machinery for upcoming "common
groups" section
The ultimate goal is for "git help" to classify common commands by
group. Toward this end, a subsequent patch will add a new "common
groups" section to command-list.txt preceding the actual command list.
As preparation, teach existing command-list.txt parsing machinery, which
doesn't care about grouping, to skip over this upcoming "common groups"
section.
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
---
Documentation/cmd-list.perl | 4 ++++
Makefile | 5 +++--
command-list.txt | 3 ++-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/Documentation/cmd-list.perl b/Documentation/cmd-list.perl
index 04f9977..5aa73cf 100755
--- a/Documentation/cmd-list.perl
+++ b/Documentation/cmd-list.perl
@@ -38,6 +38,10 @@ sub format_one {
}
}
+while (<>) {
+ last if /^### command list/;
+}
+
my %cmds = ();
for (sort <>) {
next if /^#/;
diff --git a/Makefile b/Makefile
index 25a453b..5ed0acf 100644
--- a/Makefile
+++ b/Makefile
@@ -2454,7 +2454,7 @@ check-docs::
esac ; \
test -f "Documentation/$$v.txt" || \
echo "no doc: $$v"; \
- sed -e '/^#/d' command-list.txt | \
+ sed -e '1,/^### command list/d' -e '/^#/d' command-list.txt | \
grep -q "^$$v[ ]" || \
case "$$v" in \
git) ;; \
@@ -2462,7 +2462,8 @@ check-docs::
esac ; \
done; \
( \
- sed -e '/^#/d' \
+ sed -e '1,/^### command list/d' \
+ -e '/^#/d' \
-e 's/[ ].*//' \
-e 's/^/listed /' command-list.txt; \
$(MAKE) -C Documentation print-man1 | \
diff --git a/command-list.txt b/command-list.txt
index 54d8d21..609b344 100644
--- a/command-list.txt
+++ b/command-list.txt
@@ -1,4 +1,5 @@
-# List of known git commands.
+# do not molest the next line
+### command list
# command name category [deprecated] [common]
git-add mainporcelain common
git-am mainporcelain
--
2.4.1.260.ga2776d4
--- >8 ---
[1]: http://article.gmane.org/gmane.comp.version-control.git/268756
next prev parent reply other threads:[~2015-05-15 23:56 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-15 18:34 [PATCH v7 0/5] git help: group common commands by theme Sébastien Guimmara
2015-05-15 18:35 ` [PATCH v7 1/5] command-list.txt: prepare with [commands] header Sébastien Guimmara
2015-05-15 20:26 ` Junio C Hamano
2015-05-15 20:33 ` Sébastien Guimmara
2015-05-15 20:44 ` Junio C Hamano
2015-05-15 20:52 ` Eric Sunshine
2015-05-15 22:26 ` Junio C Hamano
2015-05-15 23:55 ` Eric Sunshine [this message]
2015-05-18 16:25 ` Sébastien Guimmara
2015-05-15 21:15 ` Eric Sunshine
2015-05-16 9:44 ` Philip Oakley
2015-05-16 9:44 ` Sébastien Guimmara
2015-05-15 18:35 ` [PATCH v7 2/5] command-list.txt: add a [common] block Sébastien Guimmara
2015-05-15 21:31 ` Eric Sunshine
2015-05-15 18:35 ` [PATCH v7 3/5] generate-cmdlist: parse common group commands Sébastien Guimmara
2015-05-15 21:34 ` Eric Sunshine
2015-05-15 18:35 ` [PATCH v7 4/5] command-list.txt: drop the common tag Sébastien Guimmara
2015-05-15 21:41 ` Eric Sunshine
2015-05-15 18:35 ` [PATCH v7 5/5] help.c: output the typical Git workflow Sébastien Guimmara
2015-05-15 21:45 ` Eric Sunshine
2015-05-15 20:41 ` [PATCH v7 0/5] git help: group common commands by theme Eric Sunshine
2015-05-15 20:48 ` Junio C Hamano
2015-05-15 20:50 ` Sébastien Guimmara
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=20150515235534.GA31000@flurp.local \
--to=sunshine@sunshineco.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sebastien.guimmara@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).