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