This is an archive of the discontinued Mercurial Phabricator instance.

exchange: drop support for lock-based unbundling (BC)
ClosedPublic

Authored by indygreg on Aug 7 2017, 11:23 PM.

Details

Summary

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.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

indygreg created this revision.Aug 7 2017, 11:23 PM
martinvonz accepted this revision as: martinvonz.Aug 8 2017, 12:38 AM
martinvonz added a subscriber: martinvonz.

Looks great to me. I also can't see this being a problem for anyone.

This revision was automatically updated to reflect the committed changes.