Re: [PATCH v2 10/13] commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
From: Emily Shaffer <hidden>
Date: 2021-10-15 17:15:57
On Fri, Oct 15, 2021 at 11:43:38AM +0200, Ævar Arnfjörð Bjarmason wrote:
Move these hooks hook away from run-command.h to and over to the new hook.h library. Signed-off-by: Emily Shaffer <redacted> Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
Very straightforward. Reviewed-by: Emily Shaffer <redacted>
quoted hunk ↗ jump to hunk
--- commit.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)diff --git a/commit.c b/commit.c index 551de4903c1..4e7cbd7585d 100644 --- a/commit.c +++ b/commit.c@@ -21,6 +21,7 @@ #include "commit-reach.h" #include "run-command.h" #include "shallow.h" +#include "hook.h" static struct commit_extra_header *read_commit_extra_header_lines(const char *buf, size_t len, const char **);@@ -1700,22 +1701,22 @@ size_t ignore_non_trailer(const char *buf, size_t len) int run_commit_hook(int editor_is_used, const char *index_file, const char *name, ...) { - struct strvec hook_env = STRVEC_INIT; + struct run_hooks_opt opt = RUN_HOOKS_OPT_INIT; va_list args; - int ret; + const char *arg; - strvec_pushf(&hook_env, "GIT_INDEX_FILE=%s", index_file); + strvec_pushf(&opt.env, "GIT_INDEX_FILE=%s", index_file); /* * Let the hook know that no editor will be launched. */ if (!editor_is_used) - strvec_push(&hook_env, "GIT_EDITOR=:"); + strvec_push(&opt.env, "GIT_EDITOR=:"); va_start(args, name); - ret = run_hook_ve(hook_env.v, name, args); + while ((arg = va_arg(args, const char *))) + strvec_push(&opt.args, arg); va_end(args); - strvec_clear(&hook_env); - return ret; + return run_hooks_oneshot(name, &opt); }-- 2.33.1.1338.g20da966911a