diff mercurial/hbisect.py @ 15138:883d28233a4d

revset.bisect: add new 'untested' set to the bisect keyword The 'untested' set is made of changesets that are in the bisection range but for which the status is still unknown, and that can later be used to further decide on the bisection outcome. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
date Sat, 17 Sep 2011 14:33:20 +0200
parents 91f93dcd72aa
children b39d85be78a8
line wrap: on
line diff
--- a/mercurial/hbisect.py	Sat Sep 17 17:30:35 2011 +0200
+++ b/mercurial/hbisect.py	Sat Sep 17 14:33:20 2011 +0200
@@ -161,6 +161,7 @@
     - ``good``, ``bad``, ``skip``: as the names imply
     - ``range``              : all csets taking part in the bisection
     - ``pruned``             : good|bad|skip, excluding out-of-range csets
+    - ``untested``           : csets whose fate is yet unknown
     """
     state = load_state(repo)
     if status in ('good', 'bad', 'skip'):
@@ -194,6 +195,9 @@
         elif status == 'pruned':
             # We do not want skipped csets that are out-of-range
             return [c for c in range if c in (goods | bads | skips)]
+        elif status == 'untested':
+            # Return the csets in range that are not pruned
+            return [c for c in range if not c in (goods | bads | skips)]
 
         else:
             raise error.ParseError(_('invalid bisect state'))