equal
deleted
inserted
replaced
548 return filectx(self._repo, f, fileid=n, filelog=flcache[f]) |
548 return filectx(self._repo, f, fileid=n, filelog=flcache[f]) |
549 |
549 |
550 return None |
550 return None |
551 |
551 |
552 def ancestors(self): |
552 def ancestors(self): |
553 seen = set(str(self)) |
553 seen = set() |
554 visit = [self] |
554 visit = [self] |
555 while visit: |
555 while visit: |
556 for parent in visit.pop(0).parents(): |
556 parents = visit.pop(0).parents() |
|
557 if len(parents) > 1 and parents[1].rev() > parents[0].rev(): |
|
558 # make sure we return ancestors in reverse revision order |
|
559 parents = reversed(parents) |
|
560 for parent in parents: |
557 s = str(parent) |
561 s = str(parent) |
558 if s not in seen: |
562 if s not in seen: |
559 visit.append(parent) |
563 visit.append(parent) |
560 seen.add(s) |
564 seen.add(s) |
561 yield parent |
565 yield parent |