# HG changeset patch # User Gregory Szorc # Date 1523645653 25200 # Node ID 62ebfda864de35f306963989303b70235aa63952 # Parent a168799687e5708c841284339e99e9eaa5b6a02c repository: remove ipeercommands from ipeerbase AFAICT all callers in core have moved to the commandexecutor interface for invoking wire protocol commands. Or at least they aren't using the named methods on ipeercommands to invoke them. This means we can drop ipeercommands from the ipeerbase interface. As far as interface based programming goes, it is now illegal to call an ipeercommands method for issuing wire protocol commands. However, the methods are still there, so they will still work. At some point we will want to break that API... Differential Revision: https://phab.mercurial-scm.org/D3318 diff -r a168799687e5 -r 62ebfda864de mercurial/localrepo.py --- a/mercurial/localrepo.py Fri Apr 13 12:13:42 2018 -0700 +++ b/mercurial/localrepo.py Fri Apr 13 11:54:13 2018 -0700 @@ -196,6 +196,7 @@ def close(self): self._closed = True +@zi.implementer(repository.ipeercommands) class localpeer(repository.peer): '''peer for a local repo; reflects only the most recent API''' diff -r a168799687e5 -r 62ebfda864de mercurial/repository.py --- a/mercurial/repository.py Fri Apr 13 12:13:42 2018 -0700 +++ b/mercurial/repository.py Fri Apr 13 11:54:13 2018 -0700 @@ -284,8 +284,7 @@ being issued. """ -class ipeerbase(ipeerconnection, ipeercapabilities, ipeercommands, - ipeerrequests): +class ipeerbase(ipeerconnection, ipeercapabilities, ipeerrequests): """Unified interface for peer repositories. All peer instances must conform to this interface. diff -r a168799687e5 -r 62ebfda864de mercurial/wireprotov1peer.py --- a/mercurial/wireprotov1peer.py Fri Apr 13 12:13:42 2018 -0700 +++ b/mercurial/wireprotov1peer.py Fri Apr 13 11:54:13 2018 -0700 @@ -308,7 +308,7 @@ else: f.set_result(result) -@zi.implementer(repository.ipeerlegacycommands) +@zi.implementer(repository.ipeercommands, repository.ipeerlegacycommands) class wirepeer(repository.peer): """Client-side interface for communicating with a peer repository.