diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -1161,7 +1161,9 @@ # use linkrev to find the first changeset where self appeared base = self.introfilectx() if getattr(base, '_ancestrycontext', None) is None: - cl = self._repo.changelog + # it is safe to use an unfiltered repository here because we are + # walking ancestors only. + cl = self._repo.unfiltered().changelog if base.rev() is None: # wctx is not inclusive, but works because _ancestrycontext # is used to test filelog revisions diff --git a/tests/test-repo-filters-tiptoe.t b/tests/test-repo-filters-tiptoe.t --- a/tests/test-repo-filters-tiptoe.t +++ b/tests/test-repo-filters-tiptoe.t @@ -136,13 +136,11 @@ - file with a single change $ hg annotate a - debug.filters: computing revision filter for "visible" 0: a - file with multiple change $ hg annotate z - debug.filters: computing revision filter for "visible" 0: some line 1: in a 2: file