Re: FYI, git output messages are being used by other tooling

From: Theodore Tso

Date: Tue Oct 20 2026 - 18:51:13 EST


On Tue, Oct 20, 2026 at 09:28:10PM -0500, Kristoffer Haugsbakk wrote:
> > Where returning 0 means the bad commit has been found.
> > Otherwise it keeps looping.
>
> Is this different from git bisect run?

"git bisect run" isn't always the best way to manage a bisection. For
example, I might run a command like:

gce-xfstests ltm -c ext4/4k,ext4/1k generic/245 --repo stable-gc.git \
--bisect-good v6.18.57 --bisect-bad queue/6.18

This results in an RPC call to the Lightweight Test Manager (ltm),
which is a micro VM running in Google Compute Engine. If there isn't
a Kernel Compile Service (kcs) VM already launched, the ltm VM will
launch a much larger build VM. Once the kcs VM is ready, the bisect
request is then forwarded to the kcs VM. The kcs VM will check out
relevant repo, run "git bisect start", and will do the build. Once
the kernel is built, it then sends a RPC to the ltm VM, and the ltm VM
will launch one or more test VM's (in above example, one for the
ext4/4k config, and one of the ext4/1k config). The ltm VM will
monitor the serial console of the systems under test, so if the kernel
hangs, the ltm VM can force reboot a failing VM and either continue
with the next text (if there is more than one test that is being run).
If we are doing a bisect, then the ltm VM will send a bisect update to
the kcs VM via an RPC.

This architecture allows multiple biseccts or test watches to be
managed by a single ltm VM and (if necessary the kcs VM --- the kcs VM
will shut itself down if it's not needed to save on cloud costs).

So yeah. Sometimes "git bisect run" isn't really enough, and it would
be useful to have a way for programs to be able to call other "git
bisect" subcommands, and have a standardized way to get the results
from the command without having to just parse the output and be
dependant on the precise format of the human-readable output.

Cheers,

- Ted

P.S. For more information about how my test appliance works, and the
other features/functionality of the ltm VM, see [1] and [2].

[1] https://thunk.org/gce-xfstests
[2] https://github.com/tytso/xfstests-bld/blob/master/Documentation/gce-xfstests.md