comparison mercurial/revset.py @ 15147:395ca8cd2669

revset.bisect: add 'ignored' set to the bisect keyword The 'ignored' changesets are outside the bisection range, but are changesets that may have an impact on the outcome of the bisection. For example, in case there's a merge between the good and bad csets, but the branch-point is out of the bisection range, and the issue originates from this branch, the branch will not be visited by bisect and bisect will find that the culprit cset is the merge. So, the 'ignored' set is equivalent to: ( ( ::bisect(bad) - ::bisect(good) ) | ( ::bisect(good) - ::bisect(bad) ) ) - bisect(range) - all ancestors of bad csets that are not ancestors of good csets, or - all ancestors of good csets that are not ancestors of bad csets - but that are not 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 Tue, 20 Sep 2011 20:21:04 +0200
parents b39d85be78a8
children fa0a464e4ca5
comparison
equal deleted inserted replaced
15146:b39d85be78a8 15147:395ca8cd2669
241 ``skip``), or any of the meta-status: 241 ``skip``), or any of the meta-status:
242 242
243 - ``range`` : all csets taking part in the bisection 243 - ``range`` : all csets taking part in the bisection
244 - ``pruned`` : csets that are good, bad or skipped 244 - ``pruned`` : csets that are good, bad or skipped
245 - ``untested`` : csets whose fate is yet unknown 245 - ``untested`` : csets whose fate is yet unknown
246 - ``ignored`` : csets ignored due to DAG topology
246 """ 247 """
247 status = getstring(x, _("bisect requires a string")).lower() 248 status = getstring(x, _("bisect requires a string")).lower()
248 return [r for r in subset if r in hbisect.get(repo, status)] 249 return [r for r in subset if r in hbisect.get(repo, status)]
249 250
250 # Backward-compatibility 251 # Backward-compatibility