On Wed, Oct 16, 2024 at 02:42:57PM +0100, Phillip Wood wrote: > On 16/10/2024 10:03, Phillip Wood wrote: > > I'm pretty sure I've used "git -c core.hookspath=/dev/null ..." > > Looking at the code that will unfortunately disable all hooks including > the ones in .git/hooks. It would make sense to allow an empty > core.hooksPath mean "use .git/hooks". If you're interested in working > on this then I think doing something like Thanks for providing a helpful suggestion. I agree that the behavior you suggested here when specifying an empty value for 'core.hooksPath' would be an improvement here as a means to override system/global-level configuration. > diff --git a/config.c b/config.c > index a11bb85da30..91f190a1ce1 100644 > --- a/config.c > +++ b/config.c > @@ -1437,7 +1437,10 @@ static int git_default_core_config(const char *var, const char *value, > if (!strcmp(var, "core.hookspath")) { > FREE_AND_NULL(git_hooks_path); > - return git_config_pathname(&git_hooks_path, var, value); > + if (value) I think this should read "if (value && *value)" instead, to ensure that things like: git -c core.hooksPath= ... work as expected. Thanks, Taylor