D2036: sshpeer: remove support for connecting to <0.9.1 servers (BC)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG556218e08e25: sshpeer: remove support for connecting to 0.9.1 servers (BC) (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D2036?vs=5237=5253 REVISION DETAIL https://phab.mercurial-scm.org/D2036 AFFECTED FILES mercurial/sshpeer.py tests/test-ssh-proto.t CHANGE DETAILS 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 @@ -109,7 +109,9 @@ 1 -Connecting to a <0.9.1 server that doesn't support the hello command +Connecting to a <0.9.1 server that doesn't support the hello command. +The client should refuse, as we dropped support for connecting to such +servers. $ SSHSERVERMODE=no-hello hg --debug debugpeer ssh://user@dummy/server running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) @@ -120,14 +122,8 @@ sending between command remote: 0 remote: 1 - url: ssh://user@dummy/server - local: no - pushable: yes - -The client should interpret this as no capabilities - - $ SSHSERVERMODE=no-hello hg debugcapabilities ssh://user@dummy/server - Main capabilities: + abort: no suitable response from remote hg! + [255] Sending an unknown command to the server results in an empty response to that command diff --git a/mercurial/sshpeer.py b/mercurial/sshpeer.py --- a/mercurial/sshpeer.py +++ b/mercurial/sshpeer.py @@ -242,6 +242,16 @@ caps.update(l[:-1].split(':')[1].split()) break +# Error if we couldn't find a response to ``hello``. This could +# mean: +# +# 1. Remote isn't a Mercurial server +# 2. Remote is a <0.9.1 Mercurial server +# 3. Remote is a future Mercurial server that dropped ``hello`` +#support. +if not caps: +badresponse() + return caps class sshpeer(wireproto.wirepeer): To: indygreg, #hg-reviewers, lothiraldan, yuja Cc: mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D2036: sshpeer: remove support for connecting to <0.9.1 servers (BC)
indygreg updated this revision to Diff 5237. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D2036?vs=5231=5237 REVISION DETAIL https://phab.mercurial-scm.org/D2036 AFFECTED FILES mercurial/sshpeer.py tests/test-ssh-proto.t CHANGE DETAILS 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 @@ -109,7 +109,9 @@ 1 -Connecting to a <0.9.1 server that doesn't support the hello command +Connecting to a <0.9.1 server that doesn't support the hello command. +The client should refuse, as we dropped support for connecting to such +servers. $ SSHSERVERMODE=no-hello hg --debug debugpeer ssh://user@dummy/server running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) @@ -120,14 +122,8 @@ sending between command remote: 0 remote: 1 - url: ssh://user@dummy/server - local: no - pushable: yes - -The client should interpret this as no capabilities - - $ SSHSERVERMODE=no-hello hg debugcapabilities ssh://user@dummy/server - Main capabilities: + abort: no suitable response from remote hg! + [255] Sending an unknown command to the server results in an empty response to that command diff --git a/mercurial/sshpeer.py b/mercurial/sshpeer.py --- a/mercurial/sshpeer.py +++ b/mercurial/sshpeer.py @@ -242,6 +242,16 @@ caps.update(l[:-1].split(':')[1].split()) break +# Error if we couldn't find a response to ``hello``. This could +# mean: +# +# 1. Remote isn't a Mercurial server +# 2. Remote is a <0.9.1 Mercurial server +# 3. Remote is a future Mercurial server that dropped ``hello`` +#support. +if not caps: +badresponse() + return caps class sshpeer(wireproto.wirepeer): To: indygreg, #hg-reviewers, lothiraldan Cc: mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D2036: sshpeer: remove support for connecting to <0.9.1 servers (BC)
indygreg updated this revision to Diff 5231. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D2036?vs=5194=5231 REVISION DETAIL https://phab.mercurial-scm.org/D2036 AFFECTED FILES mercurial/sshpeer.py tests/test-ssh-proto.t CHANGE DETAILS 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 @@ -109,7 +109,9 @@ 1 -Connecting to a <0.9.1 server that doesn't support the hello command +Connecting to a <0.9.1 server that doesn't support the hello command. +The client should refuse, as we dropped support for connecting to such +servers. $ SSHSERVERMODE=no-hello hg --debug debugpeer ssh://user@dummy/server running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) @@ -120,14 +122,8 @@ sending between command remote: 0 remote: 1 - url: ssh://user@dummy/server - local: no - pushable: yes - -The client should interpret this as no capabilities - - $ SSHSERVERMODE=no-hello hg debugcapabilities ssh://user@dummy/server - Main capabilities: + abort: no suitable response from remote hg! + [255] Sending an unknown command to the server results in an empty response to that command diff --git a/mercurial/sshpeer.py b/mercurial/sshpeer.py --- a/mercurial/sshpeer.py +++ b/mercurial/sshpeer.py @@ -243,6 +243,16 @@ caps.update(l[:-1].split(':')[1].split()) break +# Error if we couldn't find a response to ``hello``. This could +# mean: +# +# 1. Remote isn't a Mercurial server +# 2. Remote is a <0.9.1 Mercurial server +# 3. Remote is a future Mercurial server that dropped ``hello`` +#support. +if not caps: +badresponse() + return caps class sshpeer(wireproto.wirepeer): To: indygreg, #hg-reviewers, lothiraldan Cc: mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
D2036: sshpeer: remove support for connecting to <0.9.1 servers (BC)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY https://phab.mercurial-scm.org/rHG197d10e157ce848129ff5e7a53cf81d4ca63a932 made this change for the HTTP peer. Let's do the same for the SSH peer. Test output changes as expected. A redundant test has been dropped. .. bc:: Support for connecting to Mercurial servers older than 0.9.1 has been removed. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D2036 AFFECTED FILES mercurial/sshpeer.py tests/test-ssh-proto.t CHANGE DETAILS 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 @@ -109,7 +109,9 @@ 1 -Connecting to a <0.9.1 server that doesn't support the hello command +Connecting to a <0.9.1 server that doesn't support the hello command. +The client should refuse, as we dropped support for connecting to such +servers. $ SSHSERVERMODE=no-hello hg --debug debugpeer ssh://user@dummy/server running * "*/tests/dummyssh" 'user@dummy' 'hg -R server serve --stdio' (glob) @@ -120,14 +122,8 @@ sending between command remote: 0 remote: 1 - url: ssh://user@dummy/server - local: no - pushable: yes - -The client should interpret this as no capabilities - - $ SSHSERVERMODE=no-hello hg debugcapabilities ssh://user@dummy/server - Main capabilities: + abort: no suitable response from remote hg! + [255] Sending an unknown command to the server results in an empty response to that command diff --git a/mercurial/sshpeer.py b/mercurial/sshpeer.py --- a/mercurial/sshpeer.py +++ b/mercurial/sshpeer.py @@ -243,6 +243,16 @@ caps.update(l[:-1].split(':')[1].split()) break +# Error if we couldn't find a response to ``hello``. This could +# mean: +# +# 1. Remote isn't a Mercurial server +# 2. Remote is a <0.9.1 Mercurial server +# 3. Remote is a future Mercurial server that dropped ``hello`` +#support. +if not caps: +badresponse() + return caps class sshpeer(wireproto.wirepeer): To: indygreg, #hg-reviewers Cc: mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel