diff -r 90cc552ceed5 -r a81c76106d90 mercurial/exchange.py --- a/mercurial/exchange.py Thu Nov 20 16:39:32 2014 -0800 +++ b/mercurial/exchange.py Sat Nov 22 17:09:04 2014 -0600 @@ -681,51 +681,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 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) + # 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 to in the local source repo"""