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

Re: [PATCH] bugreport: collect list of populated hooks

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 25, 2020, 04:52 UTC
Message-ID
<xmqqsggs9ngo.fsf@gitster.c.googlers.com>
In-Reply-To
<20200424233800.200439-1-emilyshaffer@google.com>
Emily Shaffer <emilyshaffer@google.com> writes:
Show 7 quoted lines
> Without a definitive list of hook names within the code, we compile our
> own list from the documentation. This is likely prone to bitrot. To
> reduce the amount of code humans need to read, we turn the list into a
> string_list and iterate over it (as we are calling the same find_hook
> operation on each string). However, since bugreport should primarily be
> called by the user, the performance loss from massaging the string
> seems acceptable.

In this iteration we no longer are collecting the hook names into string list, but just formating the findings in a strbuf, no?

Show 13 quoted lines
> @@ -33,6 +35,53 @@ static void get_system_info(struct strbuf *sys_info)
>  	get_libc_info(sys_info);
>  }
>  
> +static void get_populated_hooks(struct strbuf *hook_info, int nongit)
> +{
> +	/*
> +	 * NEEDSWORK: Doesn't look like there is a list of all possible hooks;
> +	 * so below is a transcription of `git help hooks`. Later, this should
> +	 * be replaced with some programmatically generated list (generated from
> +	 * doc or else taken from some library which tells us about all the
> +	 * hooks)
> +	 */

Yes, I recall that we discussed adding some annotation to documentation and extracting this automatically.

> +	const char *hook[] = {
Is it worth making this "static const"?
Show 7 quoted lines
> +	if (nongit) {
> +		strbuf_addstr(hook_info,
> +			"not run from a git repository - no hooks to show\n");
> +		return;
> +	}
> +
> +	for (i=0; i < ARRAY_SIZE(hook); i++)
Style: SP around = in "i=0".
> +	get_header(&buffer, "Enabled Hooks");
> +	get_populated_hooks(&buffer, nongit_ok);
> +
Sounds good, otherwise.
Previous: Jonathan NiederNext: Emily Shaffer
Message 11 of 33 in “bugreport: collect list of populated hooks”
  1. bugreport: collect list of populated hooksEmily Shaffer, Apr 24, 2020
  2. Jonathan NiederApr 25, 2020
  3. bugreport: drop time.h includeEmily Shaffer, Apr 27, 2020
  4. Jonathan NiederApr 27, 2020
  5. Junio C HamanoApr 27, 2020
  6. Junio C HamanoApr 27, 2020
  7. Emily ShafferApr 27, 2020
  8. Junio C HamanoApr 27, 2020
  9. bugreport: drop extraneous includesEmily Shaffer, Apr 27, 2020
  10. Jonathan NiederApr 27, 2020
  11. Junio C HamanoApr 25, 2020
  12. Emily ShafferApr 27, 2020
  13. Junio C HamanoApr 27, 2020
  14. Emily ShafferApr 27, 2020
  15. bugreport: collect list of populated hooksEmily Shaffer, Apr 27, 2020
  16. Jonathan NiederApr 27, 2020
  17. Junio C HamanoApr 28, 2020
  18. Emily ShafferApr 30, 2020
  19. bugreport: collect list of populated hooksEmily Shaffer, Apr 30, 2020
  20. Jonathan NiederApr 30, 2020
  21. Jonathan NiederApr 30, 2020
  22. Junio C HamanoApr 30, 2020
  23. Junio C HamanoApr 30, 2020
  24. Emily ShafferMay 7, 2020
  25. Junio C HamanoMay 7, 2020
  26. Emily ShafferMay 11, 2020
  27. bugreport: collect list of populated hooksEmily Shaffer, May 8, 2020
  28. Junio C HamanoMay 8, 2020
  29. Đoàn Trần Công DanhMay 8, 2020
  30. Emily ShafferMay 11, 2020
  31. bugreport: collect list of populated hooksEmily Shaffer, May 11, 2020
  32. Jonathan NiederMay 11, 2020
  33. Junio C HamanoMay 11, 2020

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.