dispatch: handle empty IOError args
authorMatt Mackall <mpm@selenic.com>
Tue, 01 Jul 2014 19:54:48 -0500
changeset 21824 57c70d3ad1c9
parent 21822 028a48105191
child 21832 4b93e19cd6e6
dispatch: handle empty IOError args We occasionally throw bare IOError objects (especially in convert), don't choke on them.
mercurial/dispatch.py
--- a/mercurial/dispatch.py	Thu Jun 12 18:07:21 2014 -0700
+++ b/mercurial/dispatch.py	Tue Jul 01 19:54:48 2014 -0500
@@ -225,7 +225,8 @@
                 # it might be anything, for example a string
                 reason = inst.reason
             ui.warn(_("abort: error: %s\n") % reason)
-        elif util.safehasattr(inst, "args") and inst.args[0] == errno.EPIPE:
+        elif (util.safehasattr(inst, "args")
+              and inst.args and inst.args[0] == errno.EPIPE):
             if ui.debugflag:
                 ui.warn(_("broken pipe\n"))
         elif getattr(inst, "strerror", None):