Mercurial > hg
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 ..