aboutsummaryrefslogtreecommitdiff
path: root/run-command.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-10-13 15:15:57 -0700
committerJunio C Hamano <gitster@pobox.com>2021-10-13 15:15:57 -0700
commita5e61a4225a7319ab5fdd6d7b63e250f5b08255c (patch)
treed1906b338a383f38262a6e5d78b4fbfe24363311 /run-command.c
parentcf006037bf93589053a747a482e2f7c77cf0967e (diff)
parentcfe853e66be56b4a035739b0f21ba409dfca695f (diff)
downloadgit-a5e61a4225a7319ab5fdd6d7b63e250f5b08255c.tar.xz
Merge branch 'ab/config-based-hooks-1'
Mostly preliminary clean-up in the hook API. * ab/config-based-hooks-1: hook-list.h: add a generated list of hooks, like config-list.h hook.c users: use "hook_exists()" instead of "find_hook()" hook.c: add a hook_exists() wrapper and use it in bugreport.c hook.[ch]: move find_hook() from run-command.c to hook.c Makefile: remove an out-of-date comment Makefile: don't perform "mv $@+ $@" dance for $(GENERATED_H) Makefile: stop hardcoding {command,config}-list.h Makefile: mark "check" target as .PHONY
Diffstat (limited to 'run-command.c')
-rw-r--r--run-command.c35
1 files changed, 1 insertions, 34 deletions
diff --git a/run-command.c b/run-command.c
index 04a07e6366..e4862b8f46 100644
--- a/run-command.c
+++ b/run-command.c
@@ -9,6 +9,7 @@
#include "quote.h"
#include "config.h"
#include "packfile.h"
+#include "hook.h"
void child_process_init(struct child_process *child)
{
@@ -1322,40 +1323,6 @@ int async_with_fork(void)
#endif
}
-const char *find_hook(const char *name)
-{
- static struct strbuf path = STRBUF_INIT;
-
- strbuf_reset(&path);
- strbuf_git_path(&path, "hooks/%s", name);
- if (access(path.buf, X_OK) < 0) {
- int err = errno;
-
-#ifdef STRIP_EXTENSION
- strbuf_addstr(&path, STRIP_EXTENSION);
- if (access(path.buf, X_OK) >= 0)
- return path.buf;
- if (errno == EACCES)
- err = errno;
-#endif
-
- if (err == EACCES && advice_enabled(ADVICE_IGNORED_HOOK)) {
- static struct string_list advise_given = STRING_LIST_INIT_DUP;
-
- if (!string_list_lookup(&advise_given, name)) {
- string_list_insert(&advise_given, name);
- advise(_("The '%s' hook was ignored because "
- "it's not set as executable.\n"
- "You can disable this warning with "
- "`git config advice.ignoredHook false`."),
- path.buf);
- }
- }
- return NULL;
- }
- return path.buf;
-}
-
int run_hook_ve(const char *const *env, const char *name, va_list args)
{
struct child_process hook = CHILD_PROCESS_INIT;