diff -r 6b8e1a08ef1d -r ec5b56b50e19 mercurial/fileset.py --- a/mercurial/fileset.py Sat Feb 25 18:41:00 2017 +0900 +++ b/mercurial/fileset.py Sat Jan 24 19:55:14 2015 +0900 @@ -498,6 +498,12 @@ def narrow(self, files): return matchctx(self.ctx, self.filter(files), self._status) +class fullmatchctx(matchctx): + """A match context where any files in any revisions should be valid""" + + def __init__(self, ctx, subset=None, status=None): + super(fullmatchctx, self).__init__(ctx, subset, status) + def _intree(funcs, tree): if isinstance(tree, tuple): if tree[0] == 'func' and tree[1][0] == 'symbol': @@ -529,7 +535,7 @@ status = None subset = list(ctx.walk(ctx.match([]))) - return getset(matchctx(ctx, subset, status), tree) + return getset(fullmatchctx(ctx, subset, status), tree) def prettyformat(tree): return parser.prettyformat(tree, ('string', 'symbol'))