7633
|
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)
|
7636
|
27
|
|
28 class ParseError(Exception):
|
|
29 """Exception raised on errors in parsing the command line."""
|
7637
|
30
|
|
31 class RepoError(Exception):
|
|
32 pass
|
|
33
|
|
34 class CapabilityError(RepoError):
|
|
35 pass
|