Provided by: mercurial-common_6.9.4-1_all bug

NAME

       hg bisect - subdivision search of changesets

SYNOPSIS

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

DESCRIPTION

       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 34, and good revision 12:

         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

       • skip all revisions that do not touch directories foo or bar:

         hg bisect --skip "!( file('path:foo') & file('path:bar') )"

       • 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)"

       • you can even get a nice graph:

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

         See hg help revisions.bisect for more about the bisect() predicate.

         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

                                                                                                      HG(BISECT)