diff -r de286200f722 -r 205c47e30a93 mercurial/revset.py --- a/mercurial/revset.py Wed Aug 30 22:41:36 2017 +0900 +++ b/mercurial/revset.py Wed Aug 30 22:51:28 2017 +0900 @@ -2163,7 +2163,12 @@ def makematcher(tree): """Create a matcher from an evaluatable tree""" - def mfunc(repo, subset=None, order=defineorder): + def mfunc(repo, subset=None, order=None): + if order is None: + if subset is None: + order = defineorder # 'x' + else: + order = followorder # 'subset & x' if subset is None: subset = fullreposet(repo) return getset(repo, subset, tree, order)