Hi Emily, On Wed, 11 Dec 2019, Emily Shaffer wrote: > On Mon, Oct 28, 2019 at 03:31:36PM +0100, Johannes Schindelin wrote: > > > On Thu, 24 Oct 2019, Emily Shaffer wrote: > > > > > diff --git a/bugreport.c b/bugreport.c > > > index afa4836ab1..9d7f44ff28 100644 > > > --- a/bugreport.c > > > +++ b/bugreport.c > > > @@ -103,3 +103,47 @@ void get_whitelisted_config(struct strbuf *config_info) > > > strbuf_reset(config_info); > > > strbuf_addbuf(config_info, &configs_and_values); > > > } > > > + > > > +void get_populated_hooks(struct strbuf *hook_info) > > > +{ > > > + /* > > > + * Doesn't look like there is a list of all possible hooks; so below is > > > + * a transcription of `git help hook`. > > > + */ > > > + const char *hooks = "applypatch-msg," > > > + "pre-applypatch," > > > + "post-applypatch," > > > + "pre-commit," > > > + "pre-merge-commit," > > > + "prepare-commit-msg," > > > + "commit-msg," > > > + "post-commit," > > > + "pre-rebase," > > > + "post-checkout," > > > + "post-merge," > > > + "pre-push," > > > + "pre-receive," > > > + "update," > > > + "post-receive," > > > + "post-update," > > > + "push-to-checkout," > > > + "pre-auto-gc," > > > + "post-rewrite," > > > + "sendemail-validate," > > > + "fsmonitor-watchman," > > > + "p4-pre-submit," > > > + "post-index-changex"; > > > > Well, this is disappointing: I tried to come up with a scripted way to > > extract the commit names from our source code, and I failed! This is > > where I gave up: > > > > git grep run_hook | > > sed -n 's/.*run_hook[^(]*([^,]*, *\([^,]*\).*/\1/p' | > > sed -e '/^name$/d' -e '/^const char \*name$/d' \ > > -e 's/push_to_checkout_hook/"push-to-checkout"/' | > > sort | > > uniq > > > > This prints only the following hook names: > > > > "applypatch-msg" > > "post-applypatch" > > "post-checkout" > > "post-index-change" > > "post-merge" > > "pre-applypatch" > > "pre-auto-gc" > > "pre-rebase" > > "prepare-commit-msg" > > "push-to-checkout" > > > > But at least it was easy to script the extracting from the > > Documentation: > > > > sed -n '/^[a-z]/{N;/\n~~~/{s/\n.*//;p}}' \ > > Documentation/githooks.txt > > > > To be totally frank, I'm not keen on spending a lot of time with > scripting this. My parallel work with config-based hooks will also > involve an in-code source of truth for available hooknames; I'd like to > punt on some scripting, putting it in the makefile, etc blah since I > know I'm planning to fix this particular annoyance at the source - and > since it looks like bugreport will stay in the review phase for at least > a little longer. Fair enough, especially if it addresses my complaint about the scriptability. Ciao, Dscho