diff -r b65a01a4316b -r e3f30068d2eb mercurial/sshpeer.py --- a/mercurial/sshpeer.py Mon Dec 29 15:59:56 2014 +0900 +++ b/mercurial/sshpeer.py Mon Dec 29 14:27:02 2014 -0600 @@ -20,6 +20,8 @@ self.release() def _serverquote(s): + if not s: + return s '''quote a string for the remote shell ... which we assume is sh''' if re.match('[a-zA-Z0-9@%_+=:,./-]*$', s): return s @@ -45,7 +47,10 @@ sshcmd = self.ui.config("ui", "ssh", "ssh") remotecmd = self.ui.config("ui", "remotecmd", "hg") - args = util.sshargs(sshcmd, self.host, self.user, self.port) + args = util.sshargs(sshcmd, + _serverquote(self.host), + _serverquote(self.user), + _serverquote(self.port)) if create: cmd = '%s %s %s' % (sshcmd, args,