# HG changeset patch
# User Yuya Nishihara <yuya@tcha.org>
# Date 1422093362 -32400
#      Sat Jan 24 18:56:02 2015 +0900
# Node ID 2f881e7d1ade0956f4fde9377d507ee3c6e9451f
# Parent  3c32a3fdfd16a43fceb5ab4c79658cd2b03b0232
fileset: build initial subset in fullmatchctx class

diff --git a/mercurial/fileset.py b/mercurial/fileset.py
--- a/mercurial/fileset.py
+++ b/mercurial/fileset.py
@@ -474,7 +474,7 @@
 }
 
 class matchctx(object):
-    def __init__(self, ctx, subset=None, status=None):
+    def __init__(self, ctx, subset, status=None):
         self.ctx = ctx
         self.subset = subset
         self._status = status
@@ -501,7 +501,8 @@
 class fullmatchctx(matchctx):
     """A match context where any files in any revisions should be valid"""
 
-    def __init__(self, ctx, subset=None, status=None):
+    def __init__(self, ctx, status=None):
+        subset = _buildsubset(ctx, status)
         super(fullmatchctx, self).__init__(ctx, subset, status)
 
 def _intree(funcs, tree):
@@ -540,8 +541,7 @@
     else:
         status = None
 
-    subset = _buildsubset(ctx, status)
-    return getset(fullmatchctx(ctx, subset, status), tree)
+    return getset(fullmatchctx(ctx, status), tree)
 
 def prettyformat(tree):
     return parser.prettyformat(tree, ('string', 'symbol'))