##// END OF EJS Templates
revset.bisect: add new 'untested' set to the bisect keyword...
"Yann E. MORIN" -
r15138:883d2823 default
parent child Browse files
Show More
@@ -161,6 +161,7 b' def get(repo, status):'
161 - ``good``, ``bad``, ``skip``: as the names imply
161 - ``good``, ``bad``, ``skip``: as the names imply
162 - ``range`` : all csets taking part in the bisection
162 - ``range`` : all csets taking part in the bisection
163 - ``pruned`` : good|bad|skip, excluding out-of-range csets
163 - ``pruned`` : good|bad|skip, excluding out-of-range csets
164 - ``untested`` : csets whose fate is yet unknown
164 """
165 """
165 state = load_state(repo)
166 state = load_state(repo)
166 if status in ('good', 'bad', 'skip'):
167 if status in ('good', 'bad', 'skip'):
@@ -194,6 +195,9 b' def get(repo, status):'
194 elif status == 'pruned':
195 elif status == 'pruned':
195 # We do not want skipped csets that are out-of-range
196 # We do not want skipped csets that are out-of-range
196 return [c for c in range if c in (goods | bads | skips)]
197 return [c for c in range if c in (goods | bads | skips)]
198 elif status == 'untested':
199 # Return the csets in range that are not pruned
200 return [c for c in range if not c in (goods | bads | skips)]
197
201
198 else:
202 else:
199 raise error.ParseError(_('invalid bisect state'))
203 raise error.ParseError(_('invalid bisect state'))
@@ -242,6 +242,7 b' def bisect(repo, subset, x):'
242
242
243 - ``range`` : all csets taking part in the bisection
243 - ``range`` : all csets taking part in the bisection
244 - ``pruned`` : good|bad|skip, excluding out-of-range csets
244 - ``pruned`` : good|bad|skip, excluding out-of-range csets
245 - ``untested`` : csets whose fate is yet unknown
245 """
246 """
246 status = getstring(x, _("bisect requires a string")).lower()
247 status = getstring(x, _("bisect requires a string")).lower()
247 return [r for r in subset if r in hbisect.get(repo, status)]
248 return [r for r in subset if r in hbisect.get(repo, status)]
@@ -252,6 +252,21 b' complex bisect test 1 # first bad rev i'
252 $ hg bisect -b 17 # -> update to rev 6
252 $ hg bisect -b 17 # -> update to rev 6
253 Testing changeset 6:a214d5d3811a (15 changesets remaining, ~3 tests)
253 Testing changeset 6:a214d5d3811a (15 changesets remaining, ~3 tests)
254 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
254 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
255 $ hg log -q -r 'bisect(untested)'
256 1:4ca5088da217
257 2:051e12f87bf1
258 3:0950834f0a9c
259 4:5c668c22234f
260 5:385a529b6670
261 6:a214d5d3811a
262 8:dab8161ac8fc
263 9:3c77083deb4a
264 10:429fcd26f52d
265 11:82ca6f06eccd
266 12:9f259202bbe7
267 13:b0a32c86eb31
268 15:857b178a7cf3
269 16:609d82a7ebae
255 $ hg bisect -g # -> update to rev 13
270 $ hg bisect -g # -> update to rev 13
256 Testing changeset 13:b0a32c86eb31 (9 changesets remaining, ~3 tests)
271 Testing changeset 13:b0a32c86eb31 (9 changesets remaining, ~3 tests)
257 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
272 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -296,6 +311,16 b' complex bisect test 1 # first bad rev i'
296 10:429fcd26f52d
311 10:429fcd26f52d
297 13:b0a32c86eb31
312 13:b0a32c86eb31
298 17:228c06deef46
313 17:228c06deef46
314 $ hg log -q -r 'bisect(untested)'
315 1:4ca5088da217
316 2:051e12f87bf1
317 3:0950834f0a9c
318 4:5c668c22234f
319 5:385a529b6670
320 11:82ca6f06eccd
321 12:9f259202bbe7
322 15:857b178a7cf3
323 16:609d82a7ebae
299
324
300 complex bisect test 2 # first good rev is 13
325 complex bisect test 2 # first good rev is 13
301
326
@@ -310,6 +335,17 b' complex bisect test 2 # first good rev '
310 $ hg bisect -b # -> update to rev 12
335 $ hg bisect -b # -> update to rev 12
311 Testing changeset 12:9f259202bbe7 (5 changesets remaining, ~2 tests)
336 Testing changeset 12:9f259202bbe7 (5 changesets remaining, ~2 tests)
312 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
337 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
338 $ hg log -q -r 'bisect(untested)'
339 2:051e12f87bf1
340 3:0950834f0a9c
341 4:5c668c22234f
342 5:385a529b6670
343 8:dab8161ac8fc
344 9:3c77083deb4a
345 11:82ca6f06eccd
346 12:9f259202bbe7
347 13:b0a32c86eb31
348 15:857b178a7cf3
313 $ hg bisect -b # -> update to rev 13
349 $ hg bisect -b # -> update to rev 13
314 Testing changeset 13:b0a32c86eb31 (3 changesets remaining, ~1 tests)
350 Testing changeset 13:b0a32c86eb31 (3 changesets remaining, ~1 tests)
315 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
351 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -520,9 +556,15 b' end at merge: 17 bad, 11 good (but 9 is '
520 13:b0a32c86eb31
556 13:b0a32c86eb31
521 15:857b178a7cf3
557 15:857b178a7cf3
522 17:228c06deef46
558 17:228c06deef46
559 $ hg log -q -r 'bisect(untested)'
560 12:9f259202bbe7
561 16:609d82a7ebae
523 $ hg bisect --extend
562 $ hg bisect --extend
524 Extending search to changeset 8:dab8161ac8fc
563 Extending search to changeset 8:dab8161ac8fc
525 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
564 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
565 $ hg log -q -r 'bisect(untested)'
566 12:9f259202bbe7
567 16:609d82a7ebae
526 $ hg bisect -g # dab8161ac8fc
568 $ hg bisect -g # dab8161ac8fc
527 Testing changeset 9:3c77083deb4a (3 changesets remaining, ~1 tests)
569 Testing changeset 9:3c77083deb4a (3 changesets remaining, ~1 tests)
528 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
570 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -550,6 +592,10 b' end at merge: 17 bad, 11 good (but 9 is '
550 13:b0a32c86eb31
592 13:b0a32c86eb31
551 15:857b178a7cf3
593 15:857b178a7cf3
552 17:228c06deef46
594 17:228c06deef46
595 $ hg log -q -r 'bisect(untested)'
596 10:429fcd26f52d
597 12:9f259202bbe7
598 16:609d82a7ebae
553
599
554 user adds irrelevant but consistent information (here: -g 2) to bisect state
600 user adds irrelevant but consistent information (here: -g 2) to bisect state
555
601
@@ -558,9 +604,15 b' user adds irrelevant but consistent info'
558 $ hg bisect -g 8
604 $ hg bisect -g 8
559 Testing changeset 11:82ca6f06eccd (3 changesets remaining, ~1 tests)
605 Testing changeset 11:82ca6f06eccd (3 changesets remaining, ~1 tests)
560 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
606 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
607 $ hg log -q -r 'bisect(untested)'
608 11:82ca6f06eccd
609 12:9f259202bbe7
561 $ hg bisect -g 2
610 $ hg bisect -g 2
562 Testing changeset 11:82ca6f06eccd (3 changesets remaining, ~1 tests)
611 Testing changeset 11:82ca6f06eccd (3 changesets remaining, ~1 tests)
563 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
612 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
613 $ hg log -q -r 'bisect(untested)'
614 11:82ca6f06eccd
615 12:9f259202bbe7
564 $ hg bisect -b
616 $ hg bisect -b
565 The first bad revision is:
617 The first bad revision is:
566 changeset: 11:82ca6f06eccd
618 changeset: 11:82ca6f06eccd
@@ -578,3 +630,5 b' user adds irrelevant but consistent info'
578 8:dab8161ac8fc
630 8:dab8161ac8fc
579 11:82ca6f06eccd
631 11:82ca6f06eccd
580 13:b0a32c86eb31
632 13:b0a32c86eb31
633 $ hg log -q -r 'bisect(untested)'
634 12:9f259202bbe7
General Comments 0
You need to be logged in to leave comments. Login now