Skip to content
Snippets Groups Projects
Commit 80466fd8 authored by Yuya Nishihara's avatar Yuya Nishihara
Browse files

fileset: rewrite andset() to not use mctx.narrow()

New code is less efficient than the original, but it helps porting andset()
to matcher composition. This will be cleaned up later.

This effectively disables the fullmatchctx magic since mctx will never be
demoted to the matchctx. The fullmatchctx class will be removed later.
parent 07b551a4
Branches
Tags
No related merge requests found
......@@ -154,7 +154,9 @@
_("pattern must be a string")))
def andset(mctx, x, y):
return getset(mctx.narrow(getset(mctx, x)), y)
xl = set(getset(mctx, x))
yl = getset(mctx, y)
return [f for f in yl if f in xl]
def orset(mctx, x, y):
# needs optimizing
......@@ -627,8 +629,7 @@
unknown = set()
return (f for f in self.subset
if (f in self.ctx and f not in removed) or f in unknown)
def narrow(self, files):
return matchctx(self.ctx, self.filter(files), self._status, self._badfn)
def switch(self, ctx, status=None):
subset = self.filter(_buildsubset(ctx, status))
return matchctx(ctx, subset, status, self._badfn)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment