git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v7 1/5] command-list.txt: prepare with [commands] header

From
Sébastien Guimmara <sebastien.guimmara@gmail.com>
Date
May 15, 2015, 20:33 UTC
Message-ID
<5556582C.3010409@gmail.com>
In-Reply-To
<xmqqr3qhfuz3.fsf@gitster.dls.corp.google.com>
On 05/15/2015 10:26 PM, Junio C Hamano wrote:
Show 48 quoted lines
> Sébastien Guimmara  <sebastien.guimmara@gmail.com> writes:
>
>> diff --git a/Makefile b/Makefile
>> index 25a453b..0cb2045 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,/^\[commands\]/d' -e '/^#/d' <command-list.txt | \
>>   		grep -q "^$$v[ 	]" || \
>>   		case "$$v" in \
>>   		git) ;; \
>> @@ -2463,6 +2463,7 @@ check-docs::
>>   	done; \
>>   	( \
>>   		sed -e '/^#/d' \
>> +		    -e '1,/^\[commands\]/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..caed872 100644
>> --- a/command-list.txt
>> +++ b/command-list.txt
>> @@ -1,5 +1,6 @@
>>   # List of known git commands.
>>   # command name                          category [deprecated] [common]
>> +[commands]
>>   git-add                                 mainporcelain common
>>   git-am                                  mainporcelain
>>   git-annotate                            ancillaryinterrogators
>
> This is largely just a "taste" thing, but with all these backslashes
> in the supporting infrastructure you had to add in Makefiles and
> scripts, don't you think the choice of the way you designed the
> format to use '[commands]' was a rather poor one?  After all, all
> you need is a clear separator line for a block of commands and
> another block of groups, and there wasn't a reason why you needed to
> use square brackets for that, and the sed scripts are suffering from
> that poor choice.
>
> You could for example have used the existing "# List of known git
> commands" as such a signal to tell that all the no comment lines
> below are commands.
>

I tend to think that relying on comments as marks for parsers is brittle, but indeed square brackets get in the way of sed regexes. I'll think of something better. Thanks.

Previous: Junio C HamanoNext: Junio C Hamano
Message 4 of 23 in “git help: group common commands by theme”
  1. 0/5 git help: group common commands by themeSébastien Guimmara, May 15, 2015
  2. 1/5 command-list.txt: prepare with [commands] headerSébastien Guimmara, May 15, 2015
  3. Junio C HamanoMay 15, 2015
  4. Sébastien GuimmaraMay 15, 2015
  5. Junio C HamanoMay 15, 2015
  6. Eric SunshineMay 15, 2015
  7. Junio C HamanoMay 15, 2015
  8. Eric SunshineMay 15, 2015
  9. Sébastien GuimmaraMay 18, 2015
  10. Eric SunshineMay 15, 2015
  11. Philip OakleyMay 16, 2015
  12. Sébastien GuimmaraMay 16, 2015
  13. 2/5 command-list.txt: add a [common] blockSébastien Guimmara, May 15, 2015
  14. Eric SunshineMay 15, 2015
  15. 3/5 generate-cmdlist: parse common group commandsSébastien Guimmara, May 15, 2015
  16. Eric SunshineMay 15, 2015
  17. 4/5 command-list.txt: drop the common tagSébastien Guimmara, May 15, 2015
  18. Eric SunshineMay 15, 2015
  19. 5/5 help.c: output the typical Git workflowSébastien Guimmara, May 15, 2015
  20. Eric SunshineMay 15, 2015
  21. Eric SunshineMay 15, 2015
  22. Junio C HamanoMay 15, 2015
  23. Sébastien GuimmaraMay 15, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.