diff -r ed003859f1d8 -r ff305ab2e0d7 mercurial/revset.py --- a/mercurial/revset.py Fri Dec 18 13:45:55 2015 -0800 +++ b/mercurial/revset.py Fri Dec 18 12:54:45 2015 -0800 @@ -1166,13 +1166,13 @@ # This directly read the changelog data as creating changectx for all # revisions is quite expensive. - getchangeset = repo.changelog.read + getfiles = repo.changelog.readfiles wdirrev = node.wdirrev def matches(x): if x == wdirrev: files = repo[x].files() else: - files = getchangeset(x)[3] + files = getfiles(x) for f in files: if m(f): return True