diff mercurial/hbisect.py @ 15137:91f93dcd72aa

revset.bisect: add new 'pruned' set to the bisect keyword The 'pruned' set is made of changesets that did participate to the bisection. They are made of - all good changesets - all bad changsets - all skipped changesets, provided they are in the bisection range 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 17:30:35 +0200
parents 18219c0789ae
children 883d28233a4d
line wrap: on
line diff
--- a/mercurial/hbisect.py	Sat Sep 17 17:33:34 2011 +0200
+++ b/mercurial/hbisect.py	Sat Sep 17 17:30:35 2011 +0200
@@ -160,6 +160,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
     """
     state = load_state(repo)
     if status in ('good', 'bad', 'skip'):
@@ -190,6 +191,9 @@
 
         if status == 'range':
             return [c for c in range]
+        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)]
 
         else:
             raise error.ParseError(_('invalid bisect state'))