comparison mercurial/revlog.py @ 221:2bfe525ef6ca

Beginning of multi-head support -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Beginning of multi-head support Add revlog.heads() Add heads command to list changeset heads manifest hash: 50df6fffe59a40c19782e2c77c8077db026fde67 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCn7tFywK+sNU5EO8RAusWAJ9EojIxgqEEt8VZd5S+5Laj8tHV+ACfWLb5 TC7AnsoFGg50jAWF0EsofDA= =nzyH -----END PGP SIGNATURE-----
author mpm@selenic.com
date Thu, 02 Jun 2005 18:07:01 -0800
parents 0a37e9c8ad6c
children ccbcc4d76f81
comparison
equal deleted inserted replaced
220:3113a94c1bff 221:2bfe525ef6ca
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: