Mercurial > public > mercurial-scm > hg-stable
diff mercurial/subrepo.py @ 44012:e685fac56693
match: resolve filesets against the passed `cwd`, not the current one
This allows filesets to be resolved relative to `repo.root`, the same as other
patterns are since f02d3c0eed18. The current example in contrib/ wasn't working
from the tests directory because of this.
Differential Revision: https://phab.mercurial-scm.org/D7570
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 06 Dec 2019 20:40:02 -0500 |
parents | 4b7d5d10c45d |
children | a61287a95dc3 |
line wrap: on
line diff
--- a/mercurial/subrepo.py Thu Dec 12 14:28:31 2019 -0800 +++ b/mercurial/subrepo.py Fri Dec 06 20:40:02 2019 -0500 @@ -355,7 +355,7 @@ """return file flags""" return b'' - def matchfileset(self, expr, badfn=None): + def matchfileset(self, cwd, expr, badfn=None): """Resolve the fileset expression for this repo""" return matchmod.never(badfn=badfn) @@ -896,20 +896,20 @@ return cmdutil.files(ui, ctx, m, uipathfn, fm, fmt, subrepos) @annotatesubrepoerror - def matchfileset(self, expr, badfn=None): + def matchfileset(self, cwd, expr, badfn=None): if self._ctx.rev() is None: ctx = self._repo[None] else: rev = self._state[1] ctx = self._repo[rev] - matchers = [ctx.matchfileset(expr, badfn=badfn)] + matchers = [ctx.matchfileset(cwd, expr, badfn=badfn)] for subpath in ctx.substate: sub = ctx.sub(subpath) try: - sm = sub.matchfileset(expr, badfn=badfn) + sm = sub.matchfileset(cwd, expr, badfn=badfn) pm = matchmod.prefixdirmatcher(subpath, sm, badfn=badfn) matchers.append(pm) except error.LookupError: