Show More
@@ -256,6 +256,13 b' class revlog(object):' | |||||
256 | def __iter__(self): |
|
256 | def __iter__(self): | |
257 | for i in xrange(len(self)): |
|
257 | for i in xrange(len(self)): | |
258 | yield i |
|
258 | yield i | |
|
259 | def revs(self, start=0, stop=None): | |||
|
260 | """iterate over all rev in this revlog (from start to stop)""" | |||
|
261 | if stop is None: | |||
|
262 | stop = len(self) | |||
|
263 | else: | |||
|
264 | stop += 1 | |||
|
265 | return xrange(start, stop) | |||
259 |
|
266 | |||
260 | @util.propertycache |
|
267 | @util.propertycache | |
261 | def nodemap(self): |
|
268 | def nodemap(self): | |
@@ -374,7 +381,7 b' class revlog(object):' | |||||
374 | return |
|
381 | return | |
375 |
|
382 | |||
376 | seen = set(revs) |
|
383 | seen = set(revs) | |
377 |
for i in |
|
384 | for i in self.revs(start=first + 1): | |
378 | for x in self.parentrevs(i): |
|
385 | for x in self.parentrevs(i): | |
379 | if x != nullrev and x in seen: |
|
386 | if x != nullrev and x in seen: | |
380 | seen.add(i) |
|
387 | seen.add(i) | |
@@ -549,7 +556,7 b' class revlog(object):' | |||||
549 | # Don't start at nullid since we don't want nullid in our output list, |
|
556 | # Don't start at nullid since we don't want nullid in our output list, | |
550 | # and if nullid shows up in descendants, empty parents will look like |
|
557 | # and if nullid shows up in descendants, empty parents will look like | |
551 | # they're descendants. |
|
558 | # they're descendants. | |
552 |
for r in |
|
559 | for r in self.revs(start=max(lowestrev, 0), stop=highestrev + 1): | |
553 | n = self.node(r) |
|
560 | n = self.node(r) | |
554 | isdescendant = False |
|
561 | isdescendant = False | |
555 | if lowestrev == nullrev: # Everybody is a descendant of nullid |
|
562 | if lowestrev == nullrev: # Everybody is a descendant of nullid | |
@@ -606,7 +613,7 b' class revlog(object):' | |||||
606 | return [nullrev] |
|
613 | return [nullrev] | |
607 | ishead = [1] * (count + 1) |
|
614 | ishead = [1] * (count + 1) | |
608 | index = self.index |
|
615 | index = self.index | |
609 |
for r in |
|
616 | for r in self: | |
610 | e = index[r] |
|
617 | e = index[r] | |
611 | ishead[e[5]] = ishead[e[6]] = 0 |
|
618 | ishead[e[5]] = ishead[e[6]] = 0 | |
612 | return [r for r in xrange(count) if ishead[r]] |
|
619 | return [r for r in xrange(count) if ishead[r]] | |
@@ -634,7 +641,7 b' class revlog(object):' | |||||
634 | heads = set((startrev,)) |
|
641 | heads = set((startrev,)) | |
635 |
|
642 | |||
636 | parentrevs = self.parentrevs |
|
643 | parentrevs = self.parentrevs | |
637 |
for r in |
|
644 | for r in self.revs(start=startrev + 1): | |
638 | for p in parentrevs(r): |
|
645 | for p in parentrevs(r): | |
639 | if p in reachable: |
|
646 | if p in reachable: | |
640 | if r not in stoprevs: |
|
647 | if r not in stoprevs: | |
@@ -649,7 +656,7 b' class revlog(object):' | |||||
649 | """find the children of a given node""" |
|
656 | """find the children of a given node""" | |
650 | c = [] |
|
657 | c = [] | |
651 | p = self.rev(node) |
|
658 | p = self.rev(node) | |
652 |
for r in r |
|
659 | for r in self.revs(start=p + 1): | |
653 | prevs = [pr for pr in self.parentrevs(r) if pr != nullrev] |
|
660 | prevs = [pr for pr in self.parentrevs(r) if pr != nullrev] | |
654 | if prevs: |
|
661 | if prevs: | |
655 | for pr in prevs: |
|
662 | for pr in prevs: |
General Comments 0
You need to be logged in to leave comments.
Login now