schacon / hg-git

mercurial to git bridge, pushed to directly from the hg-git plugin in Hg
GNU General Public License v2.0
621 stars 71 forks source link

Silent failure during push due to IOError Broken Pipe #303

Open reteptilian opened 9 years ago

reteptilian commented 9 years ago

When pushing a large repo I get the following messages and then the command just returns without printing any error:

searching for changes
adding objects

Tracing in the debugger I see a IOError (32, 'Broken Pipe') being thrown somewhere in write_pack_objects(). (btw, as an aside, if you have any tips on how to get around this error that would be helpful).

It propagates all the way up to the giant dispatch.py:_runcatch method ... it goes into this block:

    except IOError, inst:
        ...
        elif util.safehasattr(inst, "args") and inst.args[0] == errno.EPIPE:
=>          if ui.debugflag:
                ui.warn(_("broken pipe\n"))

Since debugFlag is not set it just silently fails. I would argue this is a bug. It should fail noisily.