--- a/mercurial/exchange.py Mon Nov 17 01:48:43 2014 +0100
+++ b/mercurial/exchange.py Wed Nov 19 01:36:17 2014 +0000
@@ -666,51 +666,15 @@
# filter heads already turned public by the push
outdated = [c for c in outdated if c.node() not in pheads]
- b2caps = bundle2.bundle2caps(pushop.remote)
- if 'b2x:pushkey' in b2caps:
- # server supports bundle2, let's do a batched push through it
- #
- # This will eventually be unified with the changesets bundle2 push
- bundler = bundle2.bundle20(pushop.ui, b2caps)
- capsblob = bundle2.encodecaps(bundle2.getrepocaps(pushop.repo))
- bundler.newpart('b2x:replycaps', data=capsblob)
- part2node = []
- enc = pushkey.encode
- for newremotehead in outdated:
- part = bundler.newpart('b2x:pushkey')
- part.addparam('namespace', enc('phases'))
- part.addparam('key', enc(newremotehead.hex()))
- part.addparam('old', enc(str(phases.draft)))
- part.addparam('new', enc(str(phases.public)))
- part2node.append((part.id, newremotehead))
- stream = util.chunkbuffer(bundler.getchunks())
- try:
- reply = pushop.remote.unbundle(stream, ['force'], 'push')
- op = bundle2.processbundle(pushop.repo, reply)
- except error.BundleValueError, exc:
- raise util.Abort('missing support for %s' % exc)
- for partid, node in part2node:
- partrep = op.records.getreplies(partid)
- results = partrep['pushkey']
- assert len(results) <= 1
- msg = None
- if not results:
- msg = _('server ignored update of %s to public!\n') % node
- elif not int(results[0]['return']):
- msg = _('updating %s to public failed!\n') % node
- if msg is not None:
- pushop.ui.warn(msg)
-
- else:
- # fallback to independant pushkey command
- for newremotehead in outdated:
- r = pushop.remote.pushkey('phases',
- newremotehead.hex(),
- str(phases.draft),
- str(phases.public))
- if not r:
- pushop.ui.warn(_('updating %s to public failed!\n')
- % newremotehead)
+ # fallback to independent pushkey command
+ for newremotehead in outdated:
+ r = pushop.remote.pushkey('phases',
+ newremotehead.hex(),
+ str(phases.draft),
+ str(phases.public))
+ if not r:
+ pushop.ui.warn(_('updating %s to public failed!\n')
+ % newremotehead)
def _localphasemove(pushop, nodes, phase=phases.public):
"""move <nodes> to <phase> in the local source repo"""