##// END OF EJS Templates
revset: added lazyset implementation to checkstatus...
Lucas Moscovicz -
r20457:ed7b6748 default
parent child Browse files
Show More
@@ -464,35 +464,35 b' def bundle(repo, subset, x):'
464 464 return subset & bundlerevs
465 465
466 466 def checkstatus(repo, subset, pat, field):
467 m = None
468 s = []
469 467 hasset = matchmod.patkind(pat) == 'set'
470 fname = None
471 for r in subset:
472 c = repo[r]
468
469 def matches(x):
470 m = None
471 fname = None
472 c = repo[x]
473 473 if not m or hasset:
474 474 m = matchmod.match(repo.root, repo.getcwd(), [pat], ctx=c)
475 475 if not m.anypats() and len(m.files()) == 1:
476 476 fname = m.files()[0]
477 477 if fname is not None:
478 478 if fname not in c.files():
479 continue
479 return False
480 480 else:
481 481 for f in c.files():
482 482 if m(f):
483 483 break
484 484 else:
485 continue
485 return False
486 486 files = repo.status(c.p1().node(), c.node())[field]
487 487 if fname is not None:
488 488 if fname in files:
489 s.append(r)
489 return True
490 490 else:
491 491 for f in files:
492 492 if m(f):
493 s.append(r)
494 break
495 return baseset(s)
493 return True
494
495 return lazyset(subset, matches)
496 496
497 497 def _children(repo, narrow, parentset):
498 498 cs = set()
General Comments 0
You need to be logged in to leave comments. Login now