[patch 05/10] Add optional stop revision to revlog.heads
Chris Mason
mason at suse.com
Tue Aug 9 12:42:58 CDT 2005
# HG changeset patch
# User mason at suse.com
Add optional stop revision to revlog.heads
Index: mine/mercurial/revlog.py
===================================================================
--- mine.orig/mercurial/revlog.py 2005-07-11 07:05:45.000000000 -0400
+++ mine/mercurial/revlog.py 2005-07-25 16:24:54.000000000 -0400
@@ -168,13 +168,21 @@ class revlog:
def end(self, rev): return self.start(rev) + self.length(rev)
def base(self, rev): return self.index[rev][2]
- def heads(self):
+ def heads(self, stop=None):
p = {}
h = []
+ stoprev = 0
+ if stop and stop in self.nodemap:
+ stoprev = self.rev(stop)
+
for r in range(self.count() - 1, -1, -1):
n = self.node(r)
if n not in p:
h.append(n)
+ if n == stop:
+ break
+ if r < stoprev:
+ break
for pn in self.parents(n):
p[pn] = 1
return h
--
More information about the Mercurial
mailing list