]> git.ipfire.org Git - thirdparty/git.git/commitdiff
sequencer: use the new hook API for the simpler "post-rewrite" call
authorEmily Shaffer <emilyshaffer@google.com>
Wed, 8 Feb 2023 19:21:14 +0000 (20:21 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 8 Feb 2023 20:50:03 +0000 (12:50 -0800)
Change the invocation of the "post-rewrite" hook added in
795160457db (sequencer (rebase -i): run the post-rewrite hook, if
needed, 2017-01-02) to use the new hook API.

This leaves the more complex "post-rewrite" invocation added in
a87a6f3c98e (commit: move post-rewrite code to libgit, 2017-11-17)
here in sequencer.c unconverted.

Here we can pass in a file's via the "in" file descriptor, in that
case we don't have a file, but will need to write_in_full() to an "in"
provide by the API. Support for that will be added to the hook API in
the future, but we're not there yet.

Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
sequencer.c

index 3e4a197289714197b6ba391aa1bb26652eaaf836..d8d59d05dd41cbb5663e27bb1e1533161dfcc8e5 100644 (file)
@@ -4834,8 +4834,7 @@ cleanup_head_ref:
                if (!stat(rebase_path_rewritten_list(), &st) &&
                                st.st_size > 0) {
                        struct child_process child = CHILD_PROCESS_INIT;
-                       const char *post_rewrite_hook =
-                               find_hook("post-rewrite");
+                       struct run_hooks_opt hook_opt = RUN_HOOKS_OPT_INIT;
 
                        child.in = open(rebase_path_rewritten_list(), O_RDONLY);
                        child.git_cmd = 1;
@@ -4845,18 +4844,9 @@ cleanup_head_ref:
                        /* we don't care if this copying failed */
                        run_command(&child);
 
-                       if (post_rewrite_hook) {
-                               struct child_process hook = CHILD_PROCESS_INIT;
-
-                               hook.in = open(rebase_path_rewritten_list(),
-                                       O_RDONLY);
-                               hook.stdout_to_stderr = 1;
-                               hook.trace2_hook_name = "post-rewrite";
-                               strvec_push(&hook.args, post_rewrite_hook);
-                               strvec_push(&hook.args, "rebase");
-                               /* we don't care if this hook failed */
-                               run_command(&hook);
-                       }
+                       hook_opt.path_to_stdin = rebase_path_rewritten_list();
+                       strvec_push(&hook_opt.args, "rebase");
+                       run_hooks_opt("post-rewrite", &hook_opt);
                }
                apply_autostash(rebase_path_autostash());