indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  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...

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D3318

AFFECTED FILES
  mercurial/localrepo.py
  mercurial/repository.py
  mercurial/wireprotov1peer.py

CHANGE DETAILS

diff --git a/mercurial/wireprotov1peer.py b/mercurial/wireprotov1peer.py
--- a/mercurial/wireprotov1peer.py
+++ b/mercurial/wireprotov1peer.py
@@ -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.
 
diff --git a/mercurial/repository.py b/mercurial/repository.py
--- a/mercurial/repository.py
+++ b/mercurial/repository.py
@@ -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 --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -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'''
 



To: indygreg, #hg-reviewers
Cc: mercurial-devel
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to