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
|