This change is necessary to allow the files in .git/hooks/ to optionally have the file extension `.exe` on Windows, as the file names are hardcoded otherwise. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@xxxxxx> --- Published-As: https://github.com/dscho/git/releases/tag/exe-as-hook-v2 Fetch-It-Via: git fetch https://github.com/dscho/git exe-as-hook-v2 Interdiff vs v1: diff --git a/run-command.c b/run-command.c index 45229ef052..5227f78aea 100644 --- a/run-command.c +++ b/run-command.c @@ -873,7 +873,7 @@ const char *find_hook(const char *name) strbuf_git_path(&path, "hooks/%s", name); if (access(path.buf, X_OK) < 0) { #ifdef STRIP_EXTENSION - strbuf_addstr(&path, ".exe"); + strbuf_addstr(&path, STRIP_EXTENSION); if (access(path.buf, X_OK) >= 0) return path.buf; #endif run-command.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/run-command.c b/run-command.c index 73bfba7ef9..5227f78aea 100644 --- a/run-command.c +++ b/run-command.c @@ -871,8 +871,14 @@ const char *find_hook(const char *name) strbuf_reset(&path); strbuf_git_path(&path, "hooks/%s", name); - if (access(path.buf, X_OK) < 0) + if (access(path.buf, X_OK) < 0) { +#ifdef STRIP_EXTENSION + strbuf_addstr(&path, STRIP_EXTENSION); + if (access(path.buf, X_OK) >= 0) + return path.buf; +#endif return NULL; + } return path.buf; } base-commit: 4e59582ff70d299f5a88449891e78d15b4b3fabe -- 2.11.1.windows.prerelease.2.9.g3014b57