dispatch: handle empty IOError args
We occasionally throw bare IOError objects (especially in convert),
don't choke on them.
--- 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):