Mercurial > public > mercurial-scm > hg
comparison mercurial/revlog.py @ 2509:6350b01d173f
merge with wsgi changes.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Tue, 27 Jun 2006 00:10:41 -0700 |
parents | 6ff82ec1f4b8 |
children | c35694df7b13 |
comparison
equal
deleted
inserted
replaced
2508:ab460a3f0e3a | 2509:6350b01d173f |
---|---|
475 r = self.rev(node) | 475 r = self.rev(node) |
476 d = self.index[r][-3:-1] | 476 d = self.index[r][-3:-1] |
477 if self.version == REVLOGV0: | 477 if self.version == REVLOGV0: |
478 return d | 478 return d |
479 return [ self.node(x) for x in d ] | 479 return [ self.node(x) for x in d ] |
480 def parentrevs(self, rev): | |
481 if rev == -1: | |
482 return (-1, -1) | |
483 d = self.index[rev][-3:-1] | |
484 if self.version == REVLOGV0: | |
485 return [ self.rev(x) for x in d ] | |
486 return d | |
480 def start(self, rev): | 487 def start(self, rev): |
481 if rev < 0: | 488 if rev < 0: |
482 return -1 | 489 return -1 |
483 if self.version != REVLOGV0: | 490 if self.version != REVLOGV0: |
484 return self.ngoffset(self.index[rev][0]) | 491 return self.ngoffset(self.index[rev][0]) |
704 start will be returned | 711 start will be returned |
705 | 712 |
706 """ | 713 """ |
707 if start is None: | 714 if start is None: |
708 start = nullid | 715 start = nullid |
709 reachable = {start: 1} | |
710 heads = {start: 1} | |
711 startrev = self.rev(start) | 716 startrev = self.rev(start) |
712 | 717 reachable = {startrev: 1} |
718 heads = {startrev: 1} | |
719 | |
720 parentrevs = self.parentrevs | |
713 for r in xrange(startrev + 1, self.count()): | 721 for r in xrange(startrev + 1, self.count()): |
714 n = self.node(r) | 722 for p in parentrevs(r): |
715 for pn in self.parents(n): | 723 if p in reachable: |
716 if pn in reachable: | 724 reachable[r] = 1 |
717 reachable[n] = 1 | 725 heads[r] = 1 |
718 heads[n] = 1 | 726 if p in heads: |
719 if pn in heads: | 727 del heads[p] |
720 del heads[pn] | 728 return [self.node(r) for r in heads] |
721 return heads.keys() | |
722 | 729 |
723 def children(self, node): | 730 def children(self, node): |
724 """find the children of a given node""" | 731 """find the children of a given node""" |
725 c = [] | 732 c = [] |
726 p = self.rev(node) | 733 p = self.rev(node) |