mercurial/revlog.py
changeset 221 2bfe525ef6ca
parent 208 0a37e9c8ad6c
child 224 ccbcc4d76f81
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: