##// END OF EJS Templates
bundle2: return a bundle20 object from exchanges.unbundle...
Pierre-Yves David -
r21071:19b9f23a default
parent child Browse files
Show More
@@ -694,10 +694,8 b' def unbundle(repo, cg, heads, source, ur'
694 # push can proceed
694 # push can proceed
695 if util.safehasattr(cg, 'params'):
695 if util.safehasattr(cg, 'params'):
696 tr = repo.transaction('unbundle')
696 tr = repo.transaction('unbundle')
697 ret = bundle2.processbundle(repo, cg, lambda: tr)
697 r = bundle2.processbundle(repo, cg, lambda: tr).reply
698 tr.close()
698 tr.close()
699 stream = util.chunkbuffer(ret.reply.getchunks())
700 r = bundle2.unbundle20(repo.ui, stream)
701 else:
699 else:
702 r = changegroup.addchangegroup(repo, cg, source, url)
700 r = changegroup.addchangegroup(repo, cg, source, url)
703 finally:
701 finally:
@@ -124,7 +124,14 b' class localpeer(peer.peerrepository):'
124 This function handles the repo locking itself."""
124 This function handles the repo locking itself."""
125 try:
125 try:
126 cg = exchange.readbundle(self.ui, cg, None)
126 cg = exchange.readbundle(self.ui, cg, None)
127 return exchange.unbundle(self._repo, cg, heads, 'push', url)
127 ret = exchange.unbundle(self._repo, cg, heads, 'push', url)
128 if util.safehasattr(ret, 'getchunks'):
129 # This is a bundle20 object, turn it into an unbundler.
130 # This little dance should be dropped eventually when the API
131 # is finally improved.
132 stream = util.chunkbuffer(ret.getchunks())
133 ret = bundle2.unbundle20(self.ui, stream)
134 return ret
128 except exchange.PushRaced, exc:
135 except exchange.PushRaced, exc:
129 raise error.ResponseError(_('push failed:'), exc.message)
136 raise error.ResponseError(_('push failed:'), exc.message)
130
137
General Comments 0
You need to be logged in to leave comments. Login now