Am 24.04.19 um 04:27 schrieb Junio C Hamano: > "brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> writes: >> +static int has_hook(struct strbuf *path, int strip) >> +{ >> + if (access(path->buf, X_OK) < 0) { > > Does ".git/post-commit" that is not an executable exist? > > It was perfectly fine for find_hook() to say "there is no hook for > post-commit" in the old world in such a case, because the > unexecutable file it found is not going to be run anyway. > > But it is not clear if has_hook(), that affects "there is no single > hook file for post-commit, so let's look at post-commit.d" decision > made by find_hooks(), should behave that way. It somehow feels more > intuitive if a post-commit file that is not executable, by merely > existing, stops post-commit.d directory from being scanned, at least > to me. Furthermore, basing a decision on whether a file is executable won't work on Windows as intended. So, it is better to aim for an existence check. -- Hannes