diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py --- a/mercurial/wireproto.py +++ b/mercurial/wireproto.py @@ -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,7 +837,7 @@ 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, @@ -844,7 +846,8 @@ 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) diff --git a/tests/test-ssh-proto.t b/tests/test-ssh-proto.t --- a/tests/test-ssh-proto.t +++ b/tests/test-ssh-proto.t @@ -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