git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Phillip Wood <phillip.wood123@gmail.com>
To: Sam Newbold <sam@rwsh.org>, git@vger.kernel.org
Subject: Re: core.hooksPath cannot revert to the default locally
Date: Wed, 16 Oct 2024 14:42:57 +0100	[thread overview]
Message-ID: <932d1aab-26e8-4c27-a3dd-a7191e8e71dd@gmail.com> (raw)
In-Reply-To: <dea863c3-7b54-4f8d-b6b0-6087b4cb1abe@gmail.com>

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

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)
+                        return git_config_pathname(&git_hooks_path, var, value);
+                else
+                        return 0;
          }
  
          if (!strcmp(var, "core.bare")) {

would be a good starting point

Best Wishes

Phillip

> in the 
> past when I've wanted to temporarily disable my hooks path, I can't find 
> anything in the documentation though. If
> 
>      git config core.hookspath /dev/null
> 
> does work for you it would be really helpful to update the documentation.
> 
> Best Wishes
> 
> Phillip
> 
>> I would be happy to code a patch for this if I knew how it should be
>> configured. Obviously, no local setting for a config variable is meant
>> to inherit the global or system value. We can go all "set of the null
>> set" by making the empty string mean "revert to default". We could go
>> fancy "I know what you really mean" by interpreting ".git/hooks" (or
>> perhaps any path beginning with ".git") not literally in the case of
>> worktrees, but as relative to GIT_DIR. Or there could be another
>> setting set on a local repository to ignore global and system values of
>> core.hooksPath.
>>
>> Thank you,
>> Sam Newbold
>>
> 


  reply	other threads:[~2024-10-16 13:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-16  6:26 core.hooksPath cannot revert to the default locally Sam Newbold
2024-10-16  9:03 ` Phillip Wood
2024-10-16 13:42   ` Phillip Wood [this message]
2024-10-16 20:33     ` Taylor Blau
2024-10-17  0:36       ` Sam Newbold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=932d1aab-26e8-4c27-a3dd-a7191e8e71dd@gmail.com \
    --to=phillip.wood123@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=phillip.wood@dunelm.org.uk \
    --cc=sam@rwsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).