##// END OF EJS Templates
dagop: unnest inner generator of revancestors()...
Yuya Nishihara -
r32997:b9e2269a default
parent child Browse files
Show More
@@ -20,15 +20,12 b' from . import ('
20 20 baseset = smartset.baseset
21 21 generatorset = smartset.generatorset
22 22
23 def revancestors(repo, revs, followfirst):
24 """Like revlog.ancestors(), but supports followfirst."""
23 def _genrevancestors(repo, revs, followfirst):
25 24 if followfirst:
26 25 cut = 1
27 26 else:
28 27 cut = None
29 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 61 def revdescendants(repo, revs, followfirst):
62 62 """Like revlog.descendants() but supports followfirst."""
General Comments 0
You need to be logged in to leave comments. Login now