diff -r 2af38229f147 -r 0d27685b4a2f mercurial/revset.py --- a/mercurial/revset.py Thu Sep 22 15:52:09 2016 +0900 +++ b/mercurial/revset.py Thu Sep 22 17:16:53 2016 +0900 @@ -930,7 +930,8 @@ s = set() for fname in files: fctx = c[fname] - s = s.union(set(c.rev() for c in fctx.ancestors(followfirst))) + a = dagop.filectxancestors(fctx, followfirst) + s = s.union(set(c.rev() for c in a)) # include the revision responsible for the most recent version s.add(fctx.introrev()) else: