##// END OF EJS Templates
revset.bisect: add new 'pruned' set to the bisect keyword...
"Yann E. MORIN" -
r15137:91f93dcd default
parent child Browse files
Show More
@@ -160,6 +160,7 def get(repo, status):
160 160
161 161 - ``good``, ``bad``, ``skip``: as the names imply
162 162 - ``range`` : all csets taking part in the bisection
163 - ``pruned`` : good|bad|skip, excluding out-of-range csets
163 164 """
164 165 state = load_state(repo)
165 166 if status in ('good', 'bad', 'skip'):
@@ -190,6 +191,9 def get(repo, status):
190 191
191 192 if status == 'range':
192 193 return [c for c in range]
194 elif status == 'pruned':
195 # We do not want skipped csets that are out-of-range
196 return [c for c in range if c in (goods | bads | skips)]
193 197
194 198 else:
195 199 raise error.ParseError(_('invalid bisect state'))
@@ -241,6 +241,7 def bisect(repo, subset, x):
241 241 ``skip``), or any of the meta-status:
242 242
243 243 - ``range`` : all csets taking part in the bisection
244 - ``pruned`` : good|bad|skip, excluding out-of-range csets
244 245 """
245 246 status = getstring(x, _("bisect requires a string")).lower()
246 247 return [r for r in subset if r in hbisect.get(repo, status)]
@@ -288,6 +288,14 complex bisect test 1 # first bad rev i
288 288 15:857b178a7cf3
289 289 16:609d82a7ebae
290 290 17:228c06deef46
291 $ hg log -q -r 'bisect(pruned)'
292 0:33b1f9bc8bc5
293 6:a214d5d3811a
294 8:dab8161ac8fc
295 9:3c77083deb4a
296 10:429fcd26f52d
297 13:b0a32c86eb31
298 17:228c06deef46
291 299
292 300 complex bisect test 2 # first good rev is 13
293 301
@@ -327,6 +335,13 complex bisect test 2 # first good rev
327 335 13:b0a32c86eb31
328 336 15:857b178a7cf3
329 337 18:d42e18c7bc9b
338 $ hg log -q -r 'bisect(pruned)'
339 1:4ca5088da217
340 6:a214d5d3811a
341 10:429fcd26f52d
342 12:9f259202bbe7
343 13:b0a32c86eb31
344 18:d42e18c7bc9b
330 345
331 346 complex bisect test 3
332 347
@@ -394,6 +409,15 10,9,13 are skipped an might be the firs
394 409 13:b0a32c86eb31
395 410 15:857b178a7cf3
396 411 16:609d82a7ebae
412 $ hg log -q -r 'bisect(pruned)'
413 1:4ca5088da217
414 6:a214d5d3811a
415 9:3c77083deb4a
416 10:429fcd26f52d
417 12:9f259202bbe7
418 13:b0a32c86eb31
419 15:857b178a7cf3
420 16:609d82a7ebae
397 421
398 422 complex bisect test 4
399 423
@@ -443,6 +467,13 15,16 are skipped an might be the first
443 467 15:857b178a7cf3
444 468 16:609d82a7ebae
445 469 17:228c06deef46
470 $ hg log -q -r 'bisect(pruned)'
471 8:dab8161ac8fc
472 10:429fcd26f52d
473 13:b0a32c86eb31
474 15:857b178a7cf3
475 16:609d82a7ebae
476 17:228c06deef46
446 477
447 478 test unrelated revs:
448 479
@@ -452,6 +483,7 test unrelated revs:
452 483 abort: starting revisions are not directly related
453 484 [255]
454 485 $ hg log -q -r 'bisect(range)'
486 $ hg log -q -r 'bisect(pruned)'
455 487 $ hg bisect --reset
456 488
457 489 end at merge: 17 bad, 11 good (but 9 is first bad)
@@ -483,6 +515,11 end at merge: 17 bad, 11 good (but 9 is
483 515 15:857b178a7cf3
484 516 16:609d82a7ebae
485 517 17:228c06deef46
518 $ hg log -q -r 'bisect(pruned)'
519 11:82ca6f06eccd
520 13:b0a32c86eb31
521 15:857b178a7cf3
522 17:228c06deef46
486 523 $ hg bisect --extend
487 524 Extending search to changeset 8:dab8161ac8fc
488 525 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
@@ -506,6 +543,13 end at merge: 17 bad, 11 good (but 9 is
506 543 15:857b178a7cf3
507 544 16:609d82a7ebae
508 545 17:228c06deef46
546 $ hg log -q -r 'bisect(pruned)'
547 8:dab8161ac8fc
548 9:3c77083deb4a
549 11:82ca6f06eccd
550 13:b0a32c86eb31
551 15:857b178a7cf3
552 17:228c06deef46
509 553
510 554 user adds irrelevant but consistent information (here: -g 2) to bisect state
511 555
@@ -530,3 +574,7 user adds irrelevant but consistent info
530 574 11:82ca6f06eccd
531 575 12:9f259202bbe7
532 576 13:b0a32c86eb31
577 $ hg log -q -r 'bisect(pruned)'
578 8:dab8161ac8fc
579 11:82ca6f06eccd
580 13:b0a32c86eb31
General Comments 0
You need to be logged in to leave comments. Login now