Skip to content

Commit d05d0e9

Browse files
committed
Merge branch 'ab/hooks'
"git rev-parse --git-path hooks/<hook>" learned to take core.hooksPath configuration variable (introduced during 2.9 cycle) into account. * ab/hooks: rev-parse: respect core.hooksPath in --git-path
2 parents 331f06d + 9445b49 commit d05d0e9

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

path.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,8 @@ static void adjust_git_path(struct strbuf *buf, int git_dir_len)
380380
get_index_file(), strlen(get_index_file()));
381381
else if (git_db_env && dir_prefix(base, "objects"))
382382
replace_dir(buf, git_dir_len + 7, get_object_directory());
383+
else if (git_hooks_path && dir_prefix(base, "hooks"))
384+
replace_dir(buf, git_dir_len + 5, git_hooks_path);
383385
else if (git_common_dir_env)
384386
update_common_dir(buf, git_dir_len, NULL);
385387
}

run-command.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -824,10 +824,7 @@ const char *find_hook(const char *name)
824824
static struct strbuf path = STRBUF_INIT;
825825

826826
strbuf_reset(&path);
827-
if (git_hooks_path)
828-
strbuf_addf(&path, "%s/%s", git_hooks_path, name);
829-
else
830-
strbuf_git_path(&path, "hooks/%s", name);
827+
strbuf_git_path(&path, "hooks/%s", name);
831828
if (access(path.buf, X_OK) < 0)
832829
return NULL;
833830
return path.buf;

t/t1350-config-hooks-path.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,10 @@ test_expect_success 'Check that various forms of specifying core.hooksPath work'
3434
test_cmp expect actual
3535
'
3636

37+
test_expect_success 'git rev-parse --git-path hooks' '
38+
git config core.hooksPath .git/custom-hooks &&
39+
git rev-parse --git-path hooks/abc >actual &&
40+
test .git/custom-hooks/abc = "$(cat actual)"
41+
'
42+
3743
test_done

0 commit comments

Comments
 (0)