Comments
Patch
@@ -1273,6 +1273,33 @@
e> malformed handshake protocol: missing pairs 81\n
e> -\n
+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:
+
+ $ 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:
+
$ cd ..
Test listkeys for listing namespaces
@@ -740,6 +740,8 @@
return bytesresponse(';'.join(res))
+# TODO mark as version 1 transport only once interaction with
+# SSH handshake mechanism is figured out.
@wireprotocommand('between', 'pairs')
def between(repo, proto, pairs):
pairs = [decodelist(p, '-') for p in pairs.split(" ")]
@@ -760,7 +762,7 @@
return bytesresponse('\n'.join(heads))
-@wireprotocommand('branches', 'nodes')
+@wireprotocommand('branches', 'nodes', transportpolicy=POLICY_V1_ONLY)
def branches(repo, proto, nodes):
nodes = decodelist(nodes)
r = []
@@ -835,16 +837,17 @@
def capabilities(repo, proto):
return bytesresponse(' '.join(_capabilities(repo, proto)))
-@wireprotocommand('changegroup', 'roots')
+@wireprotocommand('changegroup', 'roots', transportpolicy=POLICY_V1_ONLY)
def changegroup(repo, proto, roots):
nodes = decodelist(roots)
outgoing = discovery.outgoing(repo, missingroots=nodes,
missingheads=repo.heads())
cg = changegroupmod.makechangegroup(repo, outgoing, '01', 'serve')
gen = iter(lambda: cg.read(32768), '')
return streamres(gen=gen)
-@wireprotocommand('changegroupsubset', 'bases heads')
+@wireprotocommand('changegroupsubset', 'bases heads',
+ transportpolicy=POLICY_V1_ONLY)
def changegroupsubset(repo, proto, bases, heads):
bases = decodelist(bases)
heads = decodelist(heads)