changeset 37294:27527d8cff5c

wireproto: mark SSHv2 as a version 1 transport The version component is used for filtering/routing wire protocol commands to their proper handler. The actual version 2 of the wire protocol commands will use a different encoding of responses. We already have tests using the version 2 SSH transport and version 2 of the wire protocol commands won't be implemented atomically. This commit marks the SSHv2 transport as version 1 so it will still invoke the version 1 commands. Once the commands are all implemented in version 2, we can restore its proper behavior. Some tests had to be disabled as a result of this change. Differential Revision: https://phab.mercurial-scm.org/D2981
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 28 Mar 2018 10:12:02 -0700
parents d5d665f6615a
children 45b39c69fae0
files mercurial/wireprototypes.py tests/test-ssh-proto.t
diffstat 2 files changed, 29 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/wireprototypes.py	Wed Mar 28 14:05:29 2018 -0700
+++ b/mercurial/wireprototypes.py	Wed Mar 28 10:12:02 2018 -0700
@@ -22,7 +22,8 @@
     },
     SSHV2: {
         'transport': 'ssh',
-        'version': 2,
+        # TODO mark as version 2 once all commands are implemented.
+        'version': 1,
     },
     'http-v1': {
         'transport': 'http',
--- a/tests/test-ssh-proto.t	Wed Mar 28 14:05:29 2018 -0700
+++ b/tests/test-ssh-proto.t	Wed Mar 28 10:12:02 2018 -0700
@@ -1098,9 +1098,9 @@
   i> write(6) -> 6:
   i>     hello\n
   o> readline() -> 4:
-  o>     385\n
-  o> readline() -> 385:
-  o>     capabilities: lookup branchmap pushkey known getbundle unbundlehash streamreqs=generaldelta,revlogv1 $USUAL_BUNDLE2_CAPS_SERVER$ unbundle=HG10GZ,HG10BZ,HG10UN batch\n
+  o>     403\n
+  o> readline() -> 403:
+  o>     capabilities: lookup branchmap pushkey known getbundle unbundlehash changegroupsubset streamreqs=generaldelta,revlogv1 $USUAL_BUNDLE2_CAPS_SERVER$ unbundle=HG10GZ,HG10BZ,HG10UN batch\n
 
 Multiple upgrades is not allowed
 
@@ -1279,30 +1279,32 @@
 
 Legacy commands are not exposed to version 2 of protocol
 
-  $ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
-  > command branches
-  >     nodes 0000000000000000000000000000000000000000
-  > EOF
-  creating ssh peer from handshake results
-  sending branches command
-  response: 
+TODO re-enable these once we're back to actually using v2 commands
+
+$ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
+> command branches
+>     nodes 0000000000000000000000000000000000000000
+> EOF
+creating ssh peer from handshake results
+sending branches command
+response:
 
-  $ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
-  > command changegroup
-  >     roots 0000000000000000000000000000000000000000
-  > EOF
-  creating ssh peer from handshake results
-  sending changegroup command
-  response: 
+$ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
+> command changegroup
+>     roots 0000000000000000000000000000000000000000
+> EOF
+creating ssh peer from handshake results
+sending changegroup command
+response:
 
-  $ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
-  > command changegroupsubset
-  >     bases 0000000000000000000000000000000000000000
-  >     heads 0000000000000000000000000000000000000000
-  > EOF
-  creating ssh peer from handshake results
-  sending changegroupsubset command
-  response: 
+$ hg --config experimental.sshpeer.advertise-v2=true debugwireproto --localssh << EOF
+> command changegroupsubset
+>     bases 0000000000000000000000000000000000000000
+>     heads 0000000000000000000000000000000000000000
+> EOF
+creating ssh peer from handshake results
+sending changegroupsubset command
+response:
 
   $ cd ..