mercurial/filelog.py
changeset 40387 f1a39128da95
parent 40056 324b4b10351e
child 40389 1b183edbb68e
equal deleted inserted replaced
40386:4a81d82474e9 40387:f1a39128da95
     5 # This software may be used and distributed according to the terms of the
     5 # This software may be used and distributed according to the terms of the
     6 # GNU General Public License version 2 or any later version.
     6 # GNU General Public License version 2 or any later version.
     7 
     7 
     8 from __future__ import absolute_import
     8 from __future__ import absolute_import
     9 
     9 
       
    10 from .node import (
       
    11     nullid,
       
    12     nullrev,
       
    13 )
    10 from . import (
    14 from . import (
    11     error,
    15     error,
    12     repository,
    16     repository,
    13     revlog,
    17     revlog,
    14 )
    18 )
    30     def __len__(self):
    34     def __len__(self):
    31         return len(self._revlog)
    35         return len(self._revlog)
    32 
    36 
    33     def __iter__(self):
    37     def __iter__(self):
    34         return self._revlog.__iter__()
    38         return self._revlog.__iter__()
       
    39 
       
    40     def hasnode(self, node):
       
    41         if node in (nullid, nullrev):
       
    42             return False
       
    43 
       
    44         try:
       
    45             self._revlog.rev(node)
       
    46             return True
       
    47         except (TypeError, ValueError, IndexError, error.LookupError):
       
    48             return False
    35 
    49 
    36     def revs(self, start=0, stop=None):
    50     def revs(self, start=0, stop=None):
    37         return self._revlog.revs(start=start, stop=stop)
    51         return self._revlog.revs(start=start, stop=stop)
    38 
    52 
    39     def parents(self, node):
    53     def parents(self, node):