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