diff -r 36b2a304216c -r e32dfff71529 mercurial/revset.py --- a/mercurial/revset.py Tue Apr 03 15:08:14 2018 -0700 +++ b/mercurial/revset.py Sun Apr 01 22:48:32 2018 -0700 @@ -2170,6 +2170,9 @@ # hook for extensions to execute code on the optimized tree pass +def lookupfn(repo): + return lambda symbol: scmutil.isrevsymbol(repo, symbol) + def match(ui, spec, repo=None): """Create a matcher for a single revision spec""" return matchany(ui, [spec], repo=repo) @@ -2189,7 +2192,7 @@ raise error.ParseError(_("empty query")) lookup = None if repo: - lookup = repo.__contains__ + lookup = lookupfn(repo) if len(specs) == 1: tree = revsetlang.parse(specs[0], lookup) else: