commit: convert {pre-commit,prepare-commit-msg} hook to hook.h

Move these hooks hook away from run-command.h to and over to the new
hook.h library.

Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Emily Shaffer <emilyshaffer@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Emily Shaffer 2021-12-22 04:59:40 +01:00 committed by Junio C Hamano
parent 0c8ac06b53
commit f443246b9f
1 changed files with 8 additions and 7 deletions

View File

@ -21,6 +21,7 @@
#include "commit-reach.h" #include "commit-reach.h"
#include "run-command.h" #include "run-command.h"
#include "shallow.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 **); static struct commit_extra_header *read_commit_extra_header_lines(const char *buf, size_t len, const char **);


@ -1702,22 +1703,22 @@ size_t ignore_non_trailer(const char *buf, size_t len)
int run_commit_hook(int editor_is_used, const char *index_file, int run_commit_hook(int editor_is_used, const char *index_file,
const char *name, ...) const char *name, ...)
{ {
struct strvec hook_env = STRVEC_INIT; struct run_hooks_opt opt = RUN_HOOKS_OPT_INIT;
va_list args; 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. * Let the hook know that no editor will be launched.
*/ */
if (!editor_is_used) if (!editor_is_used)
strvec_push(&hook_env, "GIT_EDITOR=:"); strvec_push(&opt.env, "GIT_EDITOR=:");


va_start(args, name); 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); va_end(args);
strvec_clear(&hook_env);


return ret; return run_hooks_opt(name, &opt);
} }