mercurial/error.py
changeset 7633 08cabecfa8a8
child 7636 e3f8c6d6b72e
equal deleted inserted replaced
7632:9626819b2e3d 7633:08cabecfa8a8
       
     1 """
       
     2 error.py - Mercurial exceptions
       
     3 
       
     4 This allows us to catch exceptions at higher levels without forcing imports
       
     5 
       
     6 Copyright 2005-2008 Matt Mackall <mpm@selenic.com>
       
     7 
       
     8 This software may be used and distributed according to the terms
       
     9 of the GNU General Public License, incorporated herein by reference.
       
    10 """
       
    11 
       
    12 # Do not import anything here, please
       
    13 
       
    14 class RevlogError(Exception):
       
    15     pass
       
    16 
       
    17 class LookupError(RevlogError, KeyError):
       
    18     def __init__(self, name, index, message):
       
    19         self.name = name
       
    20         if isinstance(name, str) and len(name) == 20:
       
    21             from node import short
       
    22             name = short(name)
       
    23         RevlogError.__init__(self, '%s@%s: %s' % (index, name, message))
       
    24 
       
    25     def __str__(self):
       
    26         return RevlogError.__str__(self)