equal
deleted
inserted
replaced
459 def __init__(self, basectx, ctx, badfn=None): |
459 def __init__(self, basectx, ctx, badfn=None): |
460 self._basectx = basectx |
460 self._basectx = basectx |
461 self.ctx = ctx |
461 self.ctx = ctx |
462 self._badfn = badfn |
462 self._badfn = badfn |
463 self._status = None |
463 self._status = None |
|
464 |
|
465 def switch(self, basectx, ctx): |
|
466 return matchctx(basectx, ctx, self._badfn) |
464 |
467 |
465 def withstatus(self, keys): |
468 def withstatus(self, keys): |
466 """Create matchctx which has precomputed status specified by the keys""" |
469 """Create matchctx which has precomputed status specified by the keys""" |
467 mctx = matchctx(self._basectx, self.ctx, self._badfn) |
470 mctx = matchctx(self._basectx, self.ctx, self._badfn) |
468 mctx._buildstatus(keys) |
471 mctx._buildstatus(keys) |
526 """Create a matcher to select nothing""" |
529 """Create a matcher to select nothing""" |
527 repo = self.ctx.repo() |
530 repo = self.ctx.repo() |
528 return matchmod.nevermatcher(repo.root, repo.getcwd(), |
531 return matchmod.nevermatcher(repo.root, repo.getcwd(), |
529 badfn=self._badfn) |
532 badfn=self._badfn) |
530 |
533 |
531 def switch(self, basectx, ctx): |
|
532 return matchctx(basectx, ctx, self._badfn) |
|
533 |
|
534 def match(ctx, expr, badfn=None): |
534 def match(ctx, expr, badfn=None): |
535 """Create a matcher for a single fileset expression""" |
535 """Create a matcher for a single fileset expression""" |
536 tree = filesetlang.parse(expr) |
536 tree = filesetlang.parse(expr) |
537 tree = filesetlang.analyze(tree) |
537 tree = filesetlang.analyze(tree) |
538 tree = filesetlang.optimize(tree) |
538 tree = filesetlang.optimize(tree) |