mercurial/commands.py
changeset 6858 8f256bf98219
parent 6842 e37fa751182a
child 6861 0b6f2fa5e03f
child 6928 1a4c66d741a2
equal deleted inserted replaced
6856:c6890cfc2253 6858:8f256bf98219
   322 
   322 
   323     if not state['good'] or not state['bad']:
   323     if not state['good'] or not state['bad']:
   324         return
   324         return
   325 
   325 
   326     # actually bisect
   326     # actually bisect
   327     node, changesets, good = hbisect.bisect(repo.changelog, state)
   327     nodes, changesets, good = hbisect.bisect(repo.changelog, state)
   328     if changesets == 0:
   328     if changesets == 0:
   329         ui.write(_("The first %s revision is:\n") % (good and "good" or "bad"))
       
   330         displayer = cmdutil.show_changeset(ui, repo, {})
   329         displayer = cmdutil.show_changeset(ui, repo, {})
   331         displayer.show(changenode=node)
   330         transition = (good and "good" or "bad")
   332     elif node is not None:
   331         if len(nodes) == 1:
       
   332             # narrowed it down to a single revision
       
   333             ui.write(_("The first %s revision is:\n") % transition)
       
   334             displayer.show(changenode=nodes[0])
       
   335         else:
       
   336             # multiple possible revisions
       
   337             ui.write(_("Due to skipped revisions, the first "
       
   338                        "%s revision could be any of:\n") % transition)
       
   339             for n in nodes:
       
   340                 displayer.show(changenode=n)
       
   341     else:
       
   342         assert len(nodes) == 1 # only a single node can be tested next
       
   343         node = nodes[0]
   333         # compute the approximate number of remaining tests
   344         # compute the approximate number of remaining tests
   334         tests, size = 0, 2
   345         tests, size = 0, 2
   335         while size <= changesets:
   346         while size <= changesets:
   336             tests, size = tests + 1, size * 2
   347             tests, size = tests + 1, size * 2
   337         rev = repo.changelog.rev(node)
   348         rev = repo.changelog.rev(node)