error: Add a hint argument to RepoError stable
authorPierre-Yves David <pierre-yves.david@ens-lyon.org>
Sat, 25 Jun 2011 02:30:17 +0200
branchstable
changeset 14761 1a9256cdf10f
parent 14760 cebbc6b38c05
child 14762 6beb26747430
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.
mercurial/dispatch.py
mercurial/error.py
--- 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