Thread (24 messages) 24 messages, 4 authors, 2019-10-17

Re: [PATCH 1/1] respect core.hooksPath, falling back to .git/hooks

From: Pratyush Yadav <hidden>
Date: 2019-09-26 22:36:45

Hi,

On 26/09/19 02:17PM, Johannes Schindelin via GitGitGadget wrote:
quoted hunk ↗ jump to hunk
From: Johannes Schindelin <redacted>

Since v2.9.0, Git knows about the config variable core.hookspath
that allows overriding the path to the directory containing the
Git hooks.

Since v2.10.0, the `--git-path` option respects that config
variable, too, so we may just as well use that command.

For Git versions older than v2.5.0 (which was the first version to
support the `--git-path` option for the `rev-parse` command), we
simply fall back to the previous code.

This fixes https://github.com/git-for-windows/git/issues/1755

Initial-patch-by: Philipp Gortan [off-list ref]
Signed-off-by: Johannes Schindelin <redacted>
---
 git-gui.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/git-gui.sh b/git-gui.sh
index fd476b6999..b2c6e7a1db 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -623,7 +623,11 @@ proc git_write {args} {
 }
 
 proc githook_read {hook_name args} {
-	set pchook [gitdir hooks $hook_name]
+	if {[package vcompare $::_git_version 2.5.0] >= 0} {
+		set pchook [git rev-parse --git-path "hooks/$hook_name"]
+	} else {
+		set pchook [gitdir hooks $hook_name]
+	}
gitdir is used in a lot of places, and I think all those would also 
benefit from using --git-path. So I think it is a better idea to move 
this to the procedure gitdir. It would have to be refactored to take any 
number of arguments, instead of the two it takes here.

Other than that, looks good. Thanks.

-- 
Regards,
Pratyush Yadav
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help