]> git.ipfire.org Git - thirdparty/git.git/commit
run-command: allow capturing of collated output
authorEmily Shaffer <emilyshaffer@google.com>
Fri, 26 Dec 2025 12:23:31 +0000 (14:23 +0200)
committerJunio C Hamano <gitster@pobox.com>
Sun, 28 Dec 2025 05:02:07 +0000 (14:02 +0900)
commit5ab5872a53296b009cca43d412efd1a74ea4f149
tree627ecb21a0ef8e2e5b0a33170f1e13a1b2d3d6a8
parent857f047e40f796aa43c6e7c754d8a32ee64e4f4d
run-command: allow capturing of collated output

Some callers, for example server-side hooks which wish to relay hook
output to clients across a transport, want to capture what would
normally print to stderr and do something else with it. Allow that via a
callback.

By calling the callback regardless of whether there's output available,
we allow clients to send e.g. a keepalive if necessary.

Because we expose a strbuf, not a fd or FILE*, there's no need to create
a temporary pipe or similar - we can just skip the print to stderr and
instead hand it to the caller.

Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
run-command.c
run-command.h
t/helper/test-run-command.c
t/t0061-run-command.sh