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>
This commit is contained in:
Emily Shaffer 2021-12-22 04:59:40 +01:00 committed by Junio C Hamano
parent 0c8ac06b53
commit f443246b9f

View File

@ -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 **);
@ -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,
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_opt(name, &opt);
}