hg bisect [-gbsr] [-U] [-c CMD] [REV]

subdivision search of changesets

    This command helps to find changesets which introduce problems. To use,
    mark the earliest changeset you know exhibits the problem as bad, then
    mark the latest changeset which is free from the problem as good. Bisect
    will update your working directory to a revision for testing (unless the
    -U/--noupdate option is specified). Once you have performed tests, mark
    the working directory as good or bad, and bisect will either update to
    another candidate changeset or announce that it has found the bad
    revision.

    As a shortcut, you can also use the revision argument to mark a revision
    as good or bad without checking it out first.

    If you supply a command, it will be used for automatic bisection. The
    environment variable HG_NODE will contain the ID of the changeset being
    tested. The exit status of the command will be used to mark revisions as
    good or bad: status 0 means good, 125 means to skip the revision, 127
    (command not found) will abort the bisection, and any other non-zero exit
    status means the revision is bad.

    Some examples:

    - start a bisection with known bad revision 12, and good revision 34:

        hg bisect --bad 34
        hg bisect --good 12

    - advance the current bisection by marking current revision as good or
      bad:

        hg bisect --good
        hg bisect --bad

    - mark the current revision, or a known revision, to be skipped (e.g. if
      that revision is not usable because of another issue):

        hg bisect --skip
        hg bisect --skip 23

    - forget the current bisection:

        hg bisect --reset

    - use 'make && make tests' to automatically find the first broken
      revision:

        hg bisect --reset
        hg bisect --bad 34
        hg bisect --good 12
        hg bisect --command 'make && make tests'

    - see all changesets whose states are already known in the current
      bisection:

        hg log -r "bisect(pruned)"

    - see the changeset currently being bisected (especially useful if running
      with -U/--noupdate):

        hg log -r "bisect(current)"

    - see all changesets that took part in the current bisection:

        hg log -r "bisect(range)"

    - with the graphlog extension, you can even get a nice graph:

        hg log --graph -r "bisect(range)"

    See "hg help revsets" for more about the "bisect()" keyword.

    Returns 0 on success.

options:

 -r --reset       reset bisect state
 -g --good        mark changeset good
 -b --bad         mark changeset bad
 -s --skip        skip testing changeset
 -e --extend      extend the bisect range
 -c --command CMD use command to check changeset state
 -U --noupdate    do not update to target

global options:

 -R --repository REPO   repository root directory or name of overlay bundle
                        file
    --cwd DIR           change working directory
 -y --noninteractive    do not prompt, automatically pick the first choice for
                        all prompts
 -q --quiet             suppress output
 -v --verbose           enable additional output
    --config CONFIG [+] set/override config option (use 'section.name=value')
    --debug             enable debugging output
    --debugger          start debugger
    --encoding ENCODE   set the charset encoding (default: ascii)
    --encodingmode MODE set the charset encoding mode (default: strict)
    --traceback         always print a traceback on exception
    --time              time how long the command takes
    --profile           print command execution profile
    --version           output version information and exit
 -h --help              display help and exit

[+] marked option can be specified multiple times