mercurial/httprepo.py
changeset 7010 9141bebefe3e
parent 6787 dbb00e91c327
child 7207 fe0a4ed4634f
equal deleted inserted replaced
7009:3d54cf97598d 7010:9141bebefe3e
   420 
   420 
   421         tempname = changegroup.writebundle(cg, None, type)
   421         tempname = changegroup.writebundle(cg, None, type)
   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])
   438                 raise util.Abort(err[1])
   440                 raise util.Abort(err[1])
   439         finally:
   441         finally: