Mercurial > hg > mercurial-crew-with-dirclash
changeset 3403:1a437b0f4902
Fix annotate where linkrev != rev without exporting linkrev
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Sun, 15 Oct 2006 18:43:46 -0700 |
parents | 372999405787 |
children | 2e1d8b238b6c |
files | mercurial/context.py |
diffstat | 1 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py +++ b/mercurial/context.py @@ -254,10 +254,16 @@ class filectx(object): return [ getctx(p, n) for p, n in pl if n != -1 ] + # use linkrev to find the first changeset where self appeared + if self.rev() != self._filelog.linkrev(self._filenode): + base = self.filectx(self.filerev()) + else: + base = self + # find all ancestors - needed = {self: 1} - visit = [self] - files = [self._path] + needed = {base: 1} + visit = [base] + files = [base._path] while visit: f = visit.pop(0) for p in parents(f):