# HG changeset patch # User Pierre-Yves David # Date 1308961817 -7200 # Node ID 1a9256cdf10fbecf721d55ede8aa0b80838326dc # Parent cebbc6b38c0515643f5693693738bc615d8efaf7 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. diff -r cebbc6b38c05 -r 1a9256cdf10f mercurial/dispatch.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): diff -r cebbc6b38c05 -r 1a9256cdf10f mercurial/error.py --- 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