error: Add a hint argument to RepoError
This use the same mechanism than Abort. Except clause stay distinct
because RepoError add "!" at the end of the message.
--- a/mercurial/dispatch.py Tue Jun 28 00:56:33 2011 +0200
+++ b/mercurial/dispatch.py Sat Jun 25 02:30:17 2011 +0200
@@ -125,6 +125,8 @@
commands.help_(ui, 'shortlist')
except error.RepoError, inst:
ui.warn(_("abort: %s!\n") % inst)
+ if inst.hint:
+ ui.warn(_("(%s)\n") % inst.hint)
except error.ResponseError, inst:
ui.warn(_("abort: %s") % inst.args[0])
if not isinstance(inst.args[1], basestring):
--- a/mercurial/error.py Tue Jun 28 00:56:33 2011 +0200
+++ b/mercurial/error.py Sat Jun 25 02:30:17 2011 +0200
@@ -43,7 +43,9 @@
'Exception raised when parsing config files (msg[, pos])'
class RepoError(Exception):
- pass
+ def __init__(self, *args, **kw):
+ Exception.__init__(self, *args)
+ self.hint = kw.get('hint')
class RepoLookupError(RepoError):
pass