aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmily Shaffer <emilyshaffer@google.com>2025-10-17 17:15:42 +0300
committerJunio C Hamano <gitster@pobox.com>2025-10-17 14:32:52 -0700
commitfedcd93aebc32d3ca03f5511b8ab9f239e177512 (patch)
treed376a62f31c6a63c0f6b11c1ad8cfe9e5faea003
parentrun-command: allow capturing of collated output (diff)
downloadgit-fedcd93aebc32d3ca03f5511b8ab9f239e177512.tar.gz
git-fedcd93aebc32d3ca03f5511b8ab9f239e177512.zip
hooks: allow callers to capture output
Some server-side hooks will require capturing output to send over sideband instead of printing directly to stderr. Expose that capability. 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>
-rw-r--r--hook.c1
-rw-r--r--hook.h8
2 files changed, 9 insertions, 0 deletions
diff --git a/hook.c b/hook.c
index a325c7cb8c..fb452b5369 100644
--- a/hook.c
+++ b/hook.c
@@ -152,6 +152,7 @@ int run_hooks_opt(struct repository *r, const char *hook_name,
.get_next_task = pick_next_hook,
.start_failure = notify_start_failure,
.feed_pipe = options->feed_pipe,
+ .consume_sideband = options->consume_sideband,
.task_finished = notify_hook_finished,
.data = &cb_data,
diff --git a/hook.h b/hook.h
index 82b3d1dd27..a84e97db34 100644
--- a/hook.h
+++ b/hook.h
@@ -65,6 +65,14 @@ struct run_hooks_opt
* Only useful when using run_hooks_opt.feed_pipe, otherwise ignore it.
*/
void *feed_pipe_cb_data;
+
+ /*
+ * Populate this to capture output and prevent it from being printed to
+ * stderr. This will be passed directly through to
+ * run_command:run_parallel_processes(). See t/helper/test-run-command.c
+ * for an example.
+ */
+ consume_sideband_fn consume_sideband;
};
#define RUN_HOOKS_OPT_INIT { \