Emily Shaffer wrote: > Subject: hook: replace run-command.h:find_hook tiny nit: This doesn't remove find_hook, so this may want to be described as "add replacement for" instead of "replace". [...] > --- a/hook.c > +++ b/hook.c > @@ -111,6 +111,15 @@ struct list_head* hook_list(const struct strbuf* hookname) > return &hook_head; > } > > +int hook_exists(const char *hookname) > +{ > + const char *value = NULL; > + struct strbuf hook_key = STRBUF_INIT; > + strbuf_addf(&hook_key, "hook.%s.command", hookname); > + > + return (!git_config_get_value(hook_key.buf, &value)) || !!find_hook(hookname); > +} This feels a bit fragile, since it can go out of sync with run_hooks. I think I'd prefer if they shared code and this function either returned a parsed structure that could be used later to run hooks or cached the result keyed by hookname. Thanks, Jonathan