comparison mercurial/localrepo.py @ 33727:fda0867cfe03

exchange: drop support for lock-based unbundling (BC) Locking over the wire protocol and the "addchangegroup" wire protocol command has been deprecated since e8c4f3d3df8c, which was first part of Mercurial 0.9.1. Support for handling these commands from sshserver was dropped in 9f6e0e7ef828 in 2015, effectively locking out pre 0.9.1 clients from new servers. However, client-side code for calling lock and addchangegroup is still present in exchange.py and the various peer classes to facilitate pushing to pre 0.9.1 servers. The lock-based pushing mechanism is extremely brittle. 0.9.1 was released in July 2006 and I highly doubt anyone is still running such an ancient version of Mercurial on a server. I'm about to refactor the peer API and I don't think it is worth keeping support for this ancient protocol feature. So, this commit removes client support for the lock-based pushing mechanism. This means modern clients will no longer be able to push to pre 0.9.1 servers. Differential Revision: https://phab.mercurial-scm.org/D264
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 06 Aug 2017 17:44:56 -0700
parents 22371eabb3b1
children da3087b8f4a2
comparison
equal deleted inserted replaced
33726:970967e0a917 33727:fda0867cfe03
234 b = bundle2.getunbundler(self.ui, stream) 234 b = bundle2.getunbundler(self.ui, stream)
235 bundle2.processbundle(self._repo, b) 235 bundle2.processbundle(self._repo, b)
236 raise 236 raise
237 except error.PushRaced as exc: 237 except error.PushRaced as exc:
238 raise error.ResponseError(_('push failed:'), str(exc)) 238 raise error.ResponseError(_('push failed:'), str(exc))
239
240 def lock(self):
241 return self._repo.lock()
242 239
243 def pushkey(self, namespace, key, old, new): 240 def pushkey(self, namespace, key, old, new):
244 return self._repo.pushkey(namespace, key, old, new) 241 return self._repo.pushkey(namespace, key, old, new)
245 242
246 def listkeys(self, namespace): 243 def listkeys(self, namespace):