Mercurial > public > mercurial-scm > hg
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: |