mercurial/revlog.py
changeset 3585 cac2c17bec5a
parent 3584 8dbbe4dadb48
child 3633 508036290b00
equal deleted inserted replaced
3584:8dbbe4dadb48 3585:cac2c17bec5a
   465 
   465 
   466     def inlinedata(self): return self.version & REVLOGNGINLINEDATA
   466     def inlinedata(self): return self.version & REVLOGNGINLINEDATA
   467     def tip(self): return self.node(len(self.index) - 1)
   467     def tip(self): return self.node(len(self.index) - 1)
   468     def count(self): return len(self.index)
   468     def count(self): return len(self.index)
   469     def node(self, rev):
   469     def node(self, rev):
   470         return (rev < 0) and nullid or self.index[rev][-1]
   470         return rev == nullrev and nullid or self.index[rev][-1]
   471     def rev(self, node):
   471     def rev(self, node):
   472         try:
   472         try:
   473             return self.nodemap[node]
   473             return self.nodemap[node]
   474         except KeyError:
   474         except KeyError:
   475             raise RevlogError(_('%s: no node %s') % (self.indexfile, hex(node)))
   475             raise RevlogError(_('%s: no node %s') % (self.indexfile, hex(node)))
   488         d = self.index[rev][-3:-1]
   488         d = self.index[rev][-3:-1]
   489         if self.version == REVLOGV0:
   489         if self.version == REVLOGV0:
   490             return (self.rev(d[0]), self.rev(d[1]))
   490             return (self.rev(d[0]), self.rev(d[1]))
   491         return d
   491         return d
   492     def start(self, rev):
   492     def start(self, rev):
   493         if rev < 0:
   493         if rev == nullrev:
   494             return 0
   494             return 0
   495         if self.version != REVLOGV0:
   495         if self.version != REVLOGV0:
   496             return self.ngoffset(self.index[rev][0])
   496             return self.ngoffset(self.index[rev][0])
   497         return self.index[rev][0]
   497         return self.index[rev][0]
   498 
   498 
   530             l = mdiff.patchedsize(l, self.chunk(x))
   530             l = mdiff.patchedsize(l, self.chunk(x))
   531         return l
   531         return l
   532         """
   532         """
   533 
   533 
   534     def length(self, rev):
   534     def length(self, rev):
   535         if rev < 0:
   535         if rev == nullrev:
   536             return 0
   536             return 0
   537         else:
   537         else:
   538             return self.index[rev][1]
   538             return self.index[rev][1]
   539     def base(self, rev): return (rev < 0) and rev or self.index[rev][-5]
   539     def base(self, rev):
       
   540         if (rev == nullrev):
       
   541             return nullrev
       
   542         else:
       
   543             return self.index[rev][-5]
   540 
   544 
   541     def reachable(self, rev, stop=None):
   545     def reachable(self, rev, stop=None):
   542         reachable = {}
   546         reachable = {}
   543         visit = [rev]
   547         visit = [rev]
   544         reachable[rev] = 1
   548         reachable[rev] = 1