[PATCH v2 08/30] merge: use config-based hooks for post-merge hook
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2021-06-14 10:36:55
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Emily Shaffer <redacted> Teach post-merge to use the hook.h library instead of the run-command.h library to run hooks. This means that post-merge hooks can come from the config as well as from the hookdir. post-merge is invoked only from builtin/merge.c. Signed-off-by: Emily Shaffer <redacted> Signed-off-by: Ævar Arnfjörð Bjarmason <redacted> --- builtin/merge.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c
index be98d66b0a8..6128b60942f 100644
--- a/builtin/merge.c
+++ b/builtin/merge.c@@ -448,6 +448,7 @@ static void finish(struct commit *head_commit, const struct object_id *new_head, const char *msg) { struct strbuf reflog_message = STRBUF_INIT; + struct run_hooks_opt opt = RUN_HOOKS_OPT_INIT; const struct object_id *head = &head_commit->object.oid; if (!msg)
@@ -489,7 +490,9 @@ static void finish(struct commit *head_commit, } /* Run a post-merge hook */ - run_hook_le(NULL, "post-merge", squash ? "1" : "0", NULL); + strvec_push(&opt.args, squash ? "1" : "0"); + run_hooks("post-merge", &opt); + run_hooks_opt_clear(&opt); apply_autostash(git_path_merge_autostash(the_repository)); strbuf_release(&reflog_message);
@@ -849,7 +852,7 @@ static void prepare_to_commit(struct commit_list *remoteheads) * and write it out as a tree. We must do this before we invoke * the editor and after we invoke run_status above. */ - if (find_hook("pre-merge-commit")) + if (hook_exists("pre-merge-commit")) discard_cache(); read_cache_from(index_file); strbuf_addbuf(&msg, &merge_msg);
--
2.32.0.rc3.434.gd8aed1f08a7