diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -2448,7 +2448,8 @@ if not (revs.isdescending() or revs.istopo()): revs.sort(reverse=True) if expr: - matcher = revset.match(repo.ui, expr, order=revset.followorder) + matcher = revset.match(repo.ui, expr, repo=repo, + order=revset.followorder) revs = matcher(repo, revs) if limit is not None: limitedrevs = [] @@ -2474,7 +2475,8 @@ return smartset.baseset([]), None, None expr, filematcher = _makelogrevset(repo, pats, opts, revs) if expr: - matcher = revset.match(repo.ui, expr, order=revset.followorder) + matcher = revset.match(repo.ui, expr, repo=repo, + order=revset.followorder) revs = matcher(repo, revs) if limit is not None: limitedrevs = [] diff --git a/mercurial/hgweb/webcommands.py b/mercurial/hgweb/webcommands.py --- a/mercurial/hgweb/webcommands.py +++ b/mercurial/hgweb/webcommands.py @@ -260,7 +260,7 @@ if not funcsused.issubset(revset.safesymbols): return MODE_KEYWORD, query - mfunc = revset.match(web.repo.ui, revdef) + mfunc = revset.match(web.repo.ui, revdef, repo=web.repo) try: revs = mfunc(web.repo) return MODE_REVSET, revs diff --git a/mercurial/templater.py b/mercurial/templater.py --- a/mercurial/templater.py +++ b/mercurial/templater.py @@ -874,7 +874,7 @@ repo = ctx.repo() def query(expr): - m = revsetmod.match(repo.ui, expr) + m = revsetmod.match(repo.ui, expr, repo=repo) return m(repo) if len(args) > 1: