bisect — Breezy 3.0.2dev documentation

Table of Contents (3.0.2dev)

# bisect

Purpose

  Find an interesting commit using a binary search.

Usage

  brz bisect SUBCOMMAND [ARGS…]

Options
  `-d ARG, --directory=ARG`

    Branch to operate on, instead of working directory.

  `-h, --help`

    Show help message.

  `-o ARG, --output=ARG`

    Write log to this file.

  `-q, --quiet`

    Only display errors and warnings.

  `-r ARG, --revision=ARG`

    See “help revisionspec” for details.

  `--usage`

    Show usage message and options.

  `-v, --verbose`

    Display more information.

Description

  Bisecting, in a nutshell, is a way to find the commit at which some testable change was made, such as the introduction of a bug or feature. By identifying a version which did not have the interesting change and a later version which did, a developer can test for the presence of the change at various points in the history, eventually ending up at the precise commit when the change was first introduced.

  This command uses subcommands to implement the search, each of which changes the state of the bisection. The subcommands are:

  brz bisect start

    Start a bisect, possibly clearing out a previous bisect.

  brz bisect yes [-r rev]

    The specified revision (or the current revision, if not given) has the characteristic we’re looking for,

  brz bisect no [-r rev]

    The specified revision (or the current revision, if not given) does not have the characteristic we’re looking for,

  brz bisect move -r rev

    Switch to a different revision manually. Use if the bisect algorithm chooses a revision that is not suitable. Try to move as little as possible.

  brz bisect reset

    Clear out a bisection in progress.

  brz bisect log [-o file]

    Output a log of the current bisection to standard output, or to the specified file.

  brz bisect replay <logfile>

    Replay a previously-saved bisect log, forgetting any bisection that might be in progress.

  brz bisect run <script>

    Bisect automatically using <script> to determine ‘yes’ or ‘no’. <script> should exit with:

    > 0 for yes 125 for unknown (like build failed so we could not test) anything else for no