diff -r 91cb08a9e7fb -r cc4e13c92dfa mercurial/context.py --- a/mercurial/context.py Thu Nov 11 15:51:20 2010 +0100 +++ b/mercurial/context.py Mon Nov 15 17:05:54 2010 -0600 @@ -821,6 +821,11 @@ finally: wlock.release() + def ancestors(self): + for a in self._repo.changelog.ancestors( + *[p.rev() for p in self._parents]): + yield changectx(self._repo, a) + def remove(self, list, unlink=False): if unlink: for f in list: