mercurial/posix.py
branchstable
changeset 33635 e10745311406
parent 31539 52361c4f4dac
child 33643 00a75672a9cb
--- a/mercurial/posix.py	Fri Jul 28 16:32:25 2017 -0700
+++ b/mercurial/posix.py	Fri Aug 04 14:00:03 2017 -0400
@@ -23,6 +23,7 @@
 from .i18n import _
 from . import (
     encoding,
+    error,
     pycompat,
 )
 
@@ -91,6 +92,9 @@
 def sshargs(sshcmd, host, user, port):
     '''Build argument list for ssh'''
     args = user and ("%s@%s" % (user, host)) or host
+    if '-' in args[:2]:
+        raise error.Abort(
+            _('illegal ssh hostname or username starting with -: %s') % args)
     return port and ("%s -p %s" % (args, port)) or args
 
 def isexec(f):