equal
deleted
inserted
replaced
168 def start(self, rev): return self.index[rev][0] |
168 def start(self, rev): return self.index[rev][0] |
169 def length(self, rev): return self.index[rev][1] |
169 def length(self, rev): return self.index[rev][1] |
170 def end(self, rev): return self.start(rev) + self.length(rev) |
170 def end(self, rev): return self.start(rev) + self.length(rev) |
171 def base(self, rev): return self.index[rev][2] |
171 def base(self, rev): return self.index[rev][2] |
172 |
172 |
|
173 def reachable(self, rev, stop=None): |
|
174 reachable = {} |
|
175 visit = [rev] |
|
176 reachable[rev] = 1 |
|
177 if stop: |
|
178 stopn = self.rev(stop) |
|
179 else: |
|
180 stopn = 0 |
|
181 while visit: |
|
182 n = visit.pop(0) |
|
183 if n == stop: |
|
184 continue |
|
185 if n == nullid: |
|
186 continue |
|
187 for p in self.parents(n): |
|
188 if self.rev(p) < stopn: |
|
189 continue |
|
190 if p not in reachable: |
|
191 reachable[p] = 1 |
|
192 visit.append(p) |
|
193 return reachable |
|
194 |
173 def heads(self, stop=None): |
195 def heads(self, stop=None): |
174 p = {} |
196 p = {} |
175 h = [] |
197 h = [] |
176 stoprev = 0 |
198 stoprev = 0 |
177 if stop and stop in self.nodemap: |
199 if stop and stop in self.nodemap: |