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
Junio C Hamano <gitster@pobox.com>
Date
May 15, 2015, 20:26 UTC
Message-ID
<xmqqr3qhfuz3.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1431714904-16599-2-git-send-email-sebastien.guimmara@gmail.com>
Sébastien Guimmara  <sebastien.guimmara@gmail.com> writes:
Show 32 quoted lines
> 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.

Previous: Sébastien GuimmaraNext: Sébastien Guimmara
Message 3 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.