D1431: sshpeer: add a configurable hint for the ssh error message
zuza (Zuzanna Mroczek)
phabricator at mercurial-scm.org
Thu Nov 16 13:58:10 EST 2017
zuza updated this revision to Diff 3572.
zuza edited the summary of this revision.
zuza edited the test plan for this revision.
zuza retitled this revision from "sshpeer: making the ssh error message configurable" to "sshpeer: add a configurable hint for the ssh error message".
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D1431?vs=3548&id=3572
REVISION DETAIL
https://phab.mercurial-scm.org/D1431
AFFECTED FILES
mercurial/configitems.py
mercurial/sshpeer.py
tests/test-ssh.t
CHANGE DETAILS
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,20 @@
remote: abort: this is an exercise
abort: pull failed on remote
[255]
+
+abort with no error hint 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 hint when there is a ssh problem when pulling
+
+ $ hg pull ssh://brokenrepository --config ui.ssherrorhint="Please see http://company/internalwiki/ssh.html"
+ pulling from ssh://brokenrepository/
+ remote: ssh: Could not resolve hostname brokenrepository: Name or service not known
+ abort: no suitable response from remote hg!
+ (Please see http://company/internalwiki/ssh.html)
+ [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 = _("no suitable response from remote hg")
+ hint = self.ui.config("ui", "ssherrorhint")
+ self._abort(error.RepoError(msg, hint=hint))
try:
# skip any noise generated by remote shell
diff --git a/mercurial/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -964,6 +964,9 @@
coreconfigitem('ui', 'ssh',
default='ssh',
)
+coreconfigitem('ui', 'ssherrorhint',
+ default=None,
+)
coreconfigitem('ui', 'statuscopies',
default=False,
)
To: zuza, #hg-reviewers, durham, mitrandir
Cc: yuja, mercurial-devel
More information about the Mercurial-devel
mailing list