diff mercurial/dispatch.py @ 28515:491eabd0df79

dispatch: extract common logic for handling ParseError The way ParseError is handled at two different places in dispatch.py is the same. Move common logic into _formatparse.
author Jun Wu <quark@fb.com>
date Mon, 14 Mar 2016 12:32:09 +0000
parents 4eb5496c2bd4
children 84cc72c5771e
line wrap: on
line diff
--- a/mercurial/dispatch.py	Mon Mar 14 11:23:04 2016 +0000
+++ b/mercurial/dispatch.py	Mon Mar 14 12:32:09 2016 +0000
@@ -81,6 +81,8 @@
     else:
         write(_("hg: parse error: %s\n") % inst.args[0])
         _reportsimilar(write, similar)
+    if inst.hint:
+        write(_("(%s)\n") % inst.hint)
 
 def dispatch(req):
     "run the command specified in req.args"
@@ -111,8 +113,6 @@
         return -1
     except error.ParseError as inst:
         _formatparse(ferr.write, inst)
-        if inst.hint:
-            ferr.write(_("(%s)\n") % inst.hint)
         return -1
 
     msg = ' '.join(' ' in a and repr(a) or a for a in req.args)
@@ -208,8 +208,6 @@
                 (inst.args[0], " ".join(inst.args[1])))
     except error.ParseError as inst:
         _formatparse(ui.warn, inst)
-        if inst.hint:
-            ui.warn(_("(%s)\n") % inst.hint)
         return -1
     except error.LockHeld as inst:
         if inst.errno == errno.ETIMEDOUT: