mercurial/fileset.py
changeset 38881 dec16c0cce50
parent 38880 80fd7371f2d8
child 38882 ff42ec7845e4
equal deleted inserted replaced
38880:80fd7371f2d8 38881:dec16c0cce50
   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)