equal
deleted
inserted
replaced
154 def start(self, rev): return self.index[rev][0] |
154 def start(self, rev): return self.index[rev][0] |
155 def length(self, rev): return self.index[rev][1] |
155 def length(self, rev): return self.index[rev][1] |
156 def end(self, rev): return self.start(rev) + self.length(rev) |
156 def end(self, rev): return self.start(rev) + self.length(rev) |
157 def base(self, rev): return self.index[rev][2] |
157 def base(self, rev): return self.index[rev][2] |
158 |
158 |
|
159 def heads(self): |
|
160 p = {} |
|
161 h = [] |
|
162 for r in range(self.count() - 1, 0, -1): |
|
163 n = self.node(r) |
|
164 if n not in p: |
|
165 h.append(n) |
|
166 for pn in self.parents(n): |
|
167 p[pn] = 1 |
|
168 return h |
|
169 |
159 def lookup(self, id): |
170 def lookup(self, id): |
160 try: |
171 try: |
161 rev = int(id) |
172 rev = int(id) |
162 return self.node(rev) |
173 return self.node(rev) |
163 except ValueError: |
174 except ValueError: |