diff -r 1784ca148392 -r 612ed41ae359 mercurial/context.py --- a/mercurial/context.py Sat Apr 04 21:54:12 2015 -0700 +++ b/mercurial/context.py Thu Apr 16 22:33:53 2015 +0900 @@ -919,6 +919,7 @@ introrev = self.introrev() if self.rev() != introrev: base = self.filectx(self.filenode(), changeid=introrev) + if getattr(base, '_ancestrycontext', None) is None: ac = self._repo.changelog.ancestors([introrev], inclusive=True) base._ancestrycontext = ac