D2379: sshpeer: move logic for sending a request into a new function

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Wed Feb 21 22:08:11 UTC 2018


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

REVISION SUMMARY
  The **args being used to pass arbitrary command arguments is limiting
  because it makes it harder to control behavior of the function.
  
  We factor most of _callstream() into a new function that doesn't
  use **args.

REPOSITORY
  rHG Mercurial

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

AFFECTED FILES
  mercurial/sshpeer.py

CHANGE DETAILS

diff --git a/mercurial/sshpeer.py b/mercurial/sshpeer.py
--- a/mercurial/sshpeer.py
+++ b/mercurial/sshpeer.py
@@ -410,8 +410,7 @@
             work += chunk
         yield wireproto.unescapearg(work)
 
-    def _callstream(self, cmd, **args):
-        args = pycompat.byteskwargs(args)
+    def _sendrequest(self, cmd, args):
         if (self.ui.debugflag
             and self.ui.configbool('devel', 'debug.peer-request')):
             dbg = self.ui.debug
@@ -447,11 +446,17 @@
 
         return self._pipei
 
+    def _callstream(self, cmd, **args):
+        args = pycompat.byteskwargs(args)
+        return self._sendrequest(cmd, args)
+
     def _callcompressable(self, cmd, **args):
-        return self._callstream(cmd, **args)
+        args = pycompat.byteskwargs(args)
+        return self._sendrequest(cmd, args)
 
     def _call(self, cmd, **args):
-        self._callstream(cmd, **args)
+        args = pycompat.byteskwargs(args)
+        self._sendrequest(cmd, args)
         return self._readframed()
 
     def _callpush(self, cmd, fp, **args):



To: indygreg, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list