Show More
@@ -161,6 +161,7 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 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 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 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 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 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 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 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 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 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