Patchwork D1431: sshpeer: making the ssh error message configurable

login
register
mail settings
Submitter phabricator
Date Nov. 16, 2017, 2:18 a.m.
Message ID <32f338a5e8ff1f935dd279139a9b25cc@localhost.localdomain>
Download mbox | patch
Permalink /patch/25592/
State Not Applicable
Headers show

Comments

phabricator - Nov. 16, 2017, 2:18 a.m.
zuza updated this revision to Diff 3548.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D1431?vs=3542&id=3548

REVISION DETAIL
  https://phab.mercurial-scm.org/D1431

AFFECTED FILES
  mercurial/sshpeer.py
  tests/test-ssh.t

CHANGE DETAILS




To: zuza, #hg-reviewers, durham, mitrandir
Cc: mercurial-devel

Patch

diff --git a/tests/test-ssh.t b/tests/test-ssh.t
--- a/tests/test-ssh.t
+++ b/tests/test-ssh.t
@@ -578,3 +578,19 @@ 
   remote: abort: this is an exercise
   abort: pull failed on remote
   [255]
+
+abort with default error message when there is a ssh problem when pulling
+
+  $ hg pull ssh://brokenrepository
+  pulling from ssh://brokenrepository/
+  remote: ssh: Could not resolve hostname brokenrepository: Name or service not known
+  abort: no suitable response from remote hg!
+  [255]
+
+abort with configured error message when there is a ssh problem when pulling
+
+  $ hg pull ssh://brokenrepository --config ssh.errormessage="SSH error"
+  pulling from ssh://brokenrepository/
+  remote: ssh: Could not resolve hostname brokenrepository: Name or service not known
+  abort: SSH error!
+  [255]
diff --git a/mercurial/sshpeer.py b/mercurial/sshpeer.py
--- a/mercurial/sshpeer.py
+++ b/mercurial/sshpeer.py
@@ -204,8 +204,9 @@ 
         self._pipeo = doublepipe(self.ui, self._pipeo, self._pipee)
 
         def badresponse():
-            self._abort(error.RepoError(_('no suitable response from '
-                                          'remote hg')))
+            msg = self.ui.config("ssh", "errormessage",
+                                 _("no suitable response from remote hg"))
+            self._abort(error.RepoError(msg))
 
         try:
             # skip any noise generated by remote shell