##// END OF EJS Templates
enhance the error output in case of failure during http push
Benoit Boissinot -
r7010:9141bebe default
parent child Browse files
Show More
@@ -422,16 +422,18 b' class httprepository(repo.repository):'
422 fp = httpsendfile(tempname, "rb")
422 fp = httpsendfile(tempname, "rb")
423 try:
423 try:
424 try:
424 try:
425 rfp = self.do_cmd(
425 resp = self.do_read(
426 'unbundle', data=fp,
426 'unbundle', data=fp,
427 headers={'Content-Type': 'application/octet-stream'},
427 headers={'Content-Type': 'application/octet-stream'},
428 heads=' '.join(map(hex, heads)))
428 heads=' '.join(map(hex, heads)))
429 resp_code, output = resp.split('\n', 1)
429 try:
430 try:
430 ret = int(rfp.readline())
431 ret = int(resp_code)
431 self.ui.write(rfp.read())
432 except ValueError, err:
432 return ret
433 raise util.UnexpectedOutput(
433 finally:
434 _('push failed (unexpected response):'), resp)
434 rfp.close()
435 self.ui.write(output)
436 return ret
435 except socket.error, err:
437 except socket.error, err:
436 if err[0] in (errno.ECONNRESET, errno.EPIPE):
438 if err[0] in (errno.ECONNRESET, errno.EPIPE):
437 raise util.Abort(_('push failed: %s') % err[1])
439 raise util.Abort(_('push failed: %s') % err[1])
General Comments 0
You need to be logged in to leave comments. Login now