--- a/mercurial/debugcommands.py Mon Dec 18 15:18:37 2017 -0800
+++ b/mercurial/debugcommands.py Tue Dec 19 16:27:24 2017 -0500
@@ -2223,10 +2223,12 @@
url = util.url(source)
addr = None
- if url.scheme == 'https':
- addr = (url.host, url.port or 443)
- elif url.scheme == 'ssh':
- addr = (url.host, url.port or 22)
+ defaultport = {'https': 443, 'ssh': 22}
+ if url.scheme in defaultport:
+ try:
+ addr = (url.host, int(url.port or defaultport[url.scheme]))
+ except ValueError:
+ raise error.Abort(_("malformed port number in URL"))
else:
raise error.Abort(_("only https and ssh connections are supported"))