# HG changeset patch # User Yuya Nishihara # Date 2015-03-24 14:10:49 # Node ID 3c32a3fdfd16a43fceb5ab4c79658cd2b03b0232 # Parent ec5b56b50e1946245728f4e27fec5523a9a26913 fileset: extract function that builds initial subset from ctx or status This function will be used to recalculate subset when mctx.ctx is switched. diff --git a/mercurial/fileset.py b/mercurial/fileset.py --- a/mercurial/fileset.py +++ b/mercurial/fileset.py @@ -514,6 +514,15 @@ def _intree(funcs, tree): return True return False +def _buildsubset(ctx, status): + if status: + subset = [] + for c in status: + subset.extend(c) + return subset + else: + return list(ctx.walk(ctx.match([]))) + def getfileset(ctx, expr): tree = parse(expr) @@ -528,13 +537,10 @@ def getfileset(ctx, expr): r = ctx.repo() status = r.status(ctx.p1(), ctx, unknown=unknown, ignored=ignored, clean=True) - subset = [] - for c in status: - subset.extend(c) else: status = None - subset = list(ctx.walk(ctx.match([]))) + subset = _buildsubset(ctx, status) return getset(fullmatchctx(ctx, subset, status), tree) def prettyformat(tree):