bisect¶
vb bisect SUBCOMMAND [OPTIONS]
Description¶
Search back through change history to identify the check-in that causes or fixes a problem.
Subcommands¶
vb bisect bad¶
vb bisect bad [VERSION]
Description¶
Identify version VERSION as non-working. If VERSION is omitted, the current check-out is marked as non-working.
vb bisect good¶
vb bisect good [VERSION]
Description¶
Identify version VERSION as working. If VERSION is omitted, the current check-out is marked as working.
vb bisect log (chart)¶
vb bisect log|chart
Description¶
Show a log of good, bad, and skip versions. bisect log
shows the events in the order that they were tested.
bisect chart shows them in order of check-in.
vb bisect next¶
vb bisect next
Description¶
Update to the next version that is halfway between the working and non-working versions.
vb bisect options¶
vb bisect options [NAME] [VALUE]
Description¶
List all bisect options, or the value of a single option, or set the value of a bisect option.
vb bisect reset¶
vb bisect reset
Description¶
Reinitialize a bisect session. This cancels prior bisect history and allows a bisect session to start over from the beginning.
vb bisect run¶
vb bisect run [OPTIONS] COMMAND
Description¶
Invoke COMMAND repeatedly to run the bisect. The exit code for
COMMAND should be 0 for good, 125 for skip, and any other value
for bad.
Options¶
- -i, --interactive¶
Prompt the user for the good/bad/skip decision after each step, rather than using the exit code from COMMAND
vb bisect skip¶
vb bisect skip [VERSION]
vb bisect skip
Description¶
Cause VERSION (or the current check-out if VERSION is omitted) to be ignored for the purpose of the current bisect. This might be done, for example, because VERSION does not compile correctly or is otherwise unsuitable to participate in this bisect.
vb bisect vlist (ls, status)¶
vb bisect vlist|ls|status [-a|--all]
Description¶
List the versions in between the inner-most bad and good.
vb bisect ui¶
vb bisect ui [HOST@USER:PATH]
Description¶
Like vb ui except start on a timeline that shows only the check-ins that are part of the current bisect. If the optional fourth term is added, then information is shown for the bisect that occurred in the PATH directory by USER on remote machine HOST.
vb bisect undo¶
vb bisect undo
Description¶
Undo the most recent good, bad, or skip command.
Examples¶
Mark a good and a bad version, then list bisect log
$ vb bisect log
1 GOOD 2026-03-31 13:00:04 34bb348625bf61bc
2 CURRENT 2026-03-31 13:00:04 faadd590482e4cf8
$ vb timeline
=== 2026-03-31 ===
13:00:04 [faadd59048] *CURRENT* change 4 (user: ubuntu tags: trunk)
13:00:04 [7a78da230d] change 3 (user: ubuntu tags: trunk)
13:00:04 [aca09bd4d3] change 2 (user: ubuntu tags: trunk)
13:00:04 [b276258ed5] change (user: ubuntu tags: trunk)
13:00:04 [34bb348625] base (user: ubuntu tags: trunk)
13:00:04 [b8457833f3] initial empty check-in (user: ubuntu tags: trunk)
+++ no more data (6) +++
Run bisect bad on the current version, it will record that this version is unavailable and will automatically update to the previous version marked as “good” and this one (if auto-next is not set to off)
$ vb bisect bad
UPDATE app.txt
-------------------------------------------------------------------------------
updated-from: faadd590482e4cf8b07f153c5e82b5f8ea2f389e 2026-03-31 13:00:04 UTC
updated-to: aca09bd4d305a7756bf7595213da358fb1eac6f0 2026-03-31 13:00:04 UTC
tags: trunk
comment: change 2 (user: ubuntu)
changes: 1 file modified.
"vb undo" is available to undo changes to the working checkout.
span: 4 steps-remaining: 2
2 BAD 2026-03-31 13:00:04 faadd590482e4cf8
3 CURRENT 2026-03-31 13:00:04 aca09bd4d305a775
1 GOOD 2026-03-31 13:00:04 34bb348625bf61bc
$ vb bisect log
1 GOOD 2026-03-31 13:00:04 34bb348625bf61bc
3 CURRENT 2026-03-31 13:00:04 aca09bd4d305a775
2 BAD 2026-03-31 13:00:04 faadd590482e4cf8