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

Re: [PATCH 3/3] hook-list.h: add a generated list of hooks, like config-list.h

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jun 22, 2021, 22:32 UTC
Message-ID
<nycvar.QRO.7.76.6.2106221642560.57@tvgsbejvaqbjf.bet>
In-Reply-To
<648321ed-bda9-d7fc-73e1-7ccf48addf9c@web.de>
Hi René,
On Sun, 20 Jun 2021, René Scharfe wrote:
Show 43 quoted lines
> Am 18.06.21 um 19:05 schrieb SZEDER Gábor:
> > On Thu, Jun 17, 2021 at 12:09:36PM +0200, Ævar Arnfjörð Bjarmason wrote:
> >> diff --git a/generate-hooklist.sh b/generate-hooklist.sh
> >> new file mode 100755
> >> index 0000000000..5a3f7f849c
> >> --- /dev/null
> >> +++ b/generate-hooklist.sh
> >> @@ -0,0 +1,24 @@
> >> +#!/bin/sh
> >> +
> >> +echo "/* Automatically generated by generate-hooklist.sh */"
> >> +
> >> +print_hook_list () {
> >> +	cat <<EOF
> >> +static const char *hook_name_list[] = {
> >> +EOF
> >> +	perl -ne '
> >
> > Why Perl?
> >
> > At the moment I can run 'make' and get a functioning git even when
> > Perl is not installed.  With this patch that wouldn't work anymore.
> >
> > Both 'generate-cmdlist.sh' and 'generate-configlist.sh' can process
> > the documentation into a header file with a long list in it without
> > resorting to Perl; I'm sure that hooks could be processed without Perl
> > as well.
> >
> >> +		chomp;
> >> +		@l[$.] = $_;
> >> +		push @h => $l[$. - 1] if /^~~~+$/s;
> >> +		END {
> >> +			print qq[\t"$_",\n] for sort @h;
> >> +		}
> >> +	' <Documentation/githooks.txt
>
> How about something like this?
>
> 	sed -n '/^~~~~*$/ {x; p;}; x' Documentation/githooks.txt |
> 	sort |
> 	sed 's/^.*$/	"&",/'
>
> sed is already used by generate-configlist.sh.
I do like me a good sed script.

Thanks, Dscho

Show 11 quoted lines
>
> >> +	cat <<EOF
> >> +	NULL,
> >> +};
> >> +EOF
> >> +}
> >> +
> >> +echo
> >> +print_hook_list
>
>
Previous: René ScharfeNext: Junio C Hamano
Message 10 of 21 in “Add a generated list of hooks in hook-list.h”
  1. 0/3 Add a generated list of hooks in hook-list.hÆvar Arnfjörð Bjarmason, Jun 17, 2021
  2. 1/3 hook.[ch]: move find_hook() to this new libraryÆvar Arnfjörð Bjarmason, Jun 17, 2021
  3. 2/3 hook.c: add a hook_exists() wrapper and use it in bugreport.cÆvar Arnfjörð Bjarmason, Jun 17, 2021
  4. 3/3 hook-list.h: add a generated list of hooks, like config-list.hÆvar Arnfjörð Bjarmason, Jun 17, 2021
  5. SZEDER GáborJun 18, 2021
  6. Eric SunshineJun 18, 2021
  7. Junio C HamanoJun 19, 2021
  8. Ævar Arnfjörð BjarmasonJun 20, 2021
  9. René ScharfeJun 20, 2021
  10. Johannes SchindelinJun 22, 2021
  11. Junio C HamanoJun 29, 2021
  12. René ScharfeJun 29, 2021
  13. 0/3 Add a generated list of hooks in hook-list.hÆvar Arnfjörð Bjarmason, Jun 29, 2021
  14. 1/3 hook.[ch]: move find_hook() to this new libraryÆvar Arnfjörð Bjarmason, Jun 29, 2021
  15. 3/3 hook-list.h: add a generated list of hooks, like config-list.hÆvar Arnfjörð Bjarmason, Jun 29, 2021
  16. René ScharfeJun 29, 2021
  17. Ævar Arnfjörð BjarmasonJun 29, 2021
  18. Emily ShafferJul 9, 2021
  19. Ævar Arnfjörð BjarmasonJul 10, 2021
  20. Emily ShafferJul 12, 2021
  21. 2/3 hook.c: add a hook_exists() wrapper and use it in bugreport.cÆvar Arnfjörð Bjarmason, Jun 29, 2021

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.