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
parent
0c8ac06b53
commit
f443246b9f
15
commit.c
15
commit.c
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue