##// END OF EJS Templates
Add optional stop revision to revlog.heads
mason@suse.com -
r902:c749ca37 default
parent child Browse files
Show More
@@ -168,13 +168,21 b' class revlog:'
168 def end(self, rev): return self.start(rev) + self.length(rev)
168 def end(self, rev): return self.start(rev) + self.length(rev)
169 def base(self, rev): return self.index[rev][2]
169 def base(self, rev): return self.index[rev][2]
170
170
171 def heads(self):
171 def heads(self, stop=None):
172 p = {}
172 p = {}
173 h = []
173 h = []
174 stoprev = 0
175 if stop and stop in self.nodemap:
176 stoprev = self.rev(stop)
177
174 for r in range(self.count() - 1, -1, -1):
178 for r in range(self.count() - 1, -1, -1):
175 n = self.node(r)
179 n = self.node(r)
176 if n not in p:
180 if n not in p:
177 h.append(n)
181 h.append(n)
182 if n == stop:
183 break
184 if r < stoprev:
185 break
178 for pn in self.parents(n):
186 for pn in self.parents(n):
179 p[pn] = 1
187 p[pn] = 1
180 return h
188 return h
General Comments 0
You need to be logged in to leave comments. Login now