Show More
@@ -20,15 +20,12 b' from . import (' | |||||
20 | baseset = smartset.baseset |
|
20 | baseset = smartset.baseset | |
21 | generatorset = smartset.generatorset |
|
21 | generatorset = smartset.generatorset | |
22 |
|
22 | |||
23 | def revancestors(repo, revs, followfirst): |
|
23 | def _genrevancestors(repo, revs, followfirst): | |
24 | """Like revlog.ancestors(), but supports followfirst.""" |
|
|||
25 | if followfirst: |
|
24 | if followfirst: | |
26 | cut = 1 |
|
25 | cut = 1 | |
27 | else: |
|
26 | else: | |
28 | cut = None |
|
27 | cut = None | |
29 | cl = repo.changelog |
|
28 | cl = repo.changelog | |
30 |
|
||||
31 | def iterate(): |
|
|||
32 |
|
|
29 | revs.sort(reverse=True) | |
33 |
|
|
30 | irevs = iter(revs) | |
34 |
|
|
31 | h = [] | |
@@ -56,7 +53,10 b' def revancestors(repo, revs, followfirst' | |||||
56 |
|
|
53 | if parent.rev() != node.nullrev: | |
57 |
|
|
54 | heapq.heappush(h, -parent.rev()) | |
58 |
|
55 | |||
59 | return generatorset(iterate(), iterasc=False) |
|
56 | def revancestors(repo, revs, followfirst): | |
|
57 | """Like revlog.ancestors(), but supports followfirst.""" | |||
|
58 | gen = _genrevancestors(repo, revs, followfirst) | |||
|
59 | return generatorset(gen, iterasc=False) | |||
60 |
|
60 | |||
61 | def revdescendants(repo, revs, followfirst): |
|
61 | def revdescendants(repo, revs, followfirst): | |
62 | """Like revlog.descendants() but supports followfirst.""" |
|
62 | """Like revlog.descendants() but supports followfirst.""" |
General Comments 0
You need to be logged in to leave comments.
Login now