mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Do not invoke ssh with -p argument when no port has been specified.
This change allows local SSH configuration to choose the port number to use when not explicitly set in the manifest.
This commit is contained in:
parent
c24c720b61
commit
4c0f670465
@ -356,10 +356,14 @@ class RefSpec(object):
|
|||||||
_ssh_cache = {}
|
_ssh_cache = {}
|
||||||
_ssh_master = True
|
_ssh_master = True
|
||||||
|
|
||||||
def _open_ssh(host, port):
|
def _open_ssh(host, port=None):
|
||||||
global _ssh_master
|
global _ssh_master
|
||||||
|
|
||||||
|
if port is not None:
|
||||||
key = '%s:%s' % (host, port)
|
key = '%s:%s' % (host, port)
|
||||||
|
else:
|
||||||
|
key = host
|
||||||
|
|
||||||
if key in _ssh_cache:
|
if key in _ssh_cache:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -372,10 +376,13 @@ def _open_ssh(host, port):
|
|||||||
|
|
||||||
command = ['ssh',
|
command = ['ssh',
|
||||||
'-o','ControlPath %s' % _ssh_sock(),
|
'-o','ControlPath %s' % _ssh_sock(),
|
||||||
'-p',str(port),
|
|
||||||
'-M',
|
'-M',
|
||||||
'-N',
|
'-N',
|
||||||
host]
|
host]
|
||||||
|
|
||||||
|
if port is not None:
|
||||||
|
command[3:3] = ['-p',str(port)]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
Trace(': %s', ' '.join(command))
|
Trace(': %s', ' '.join(command))
|
||||||
p = subprocess.Popen(command)
|
p = subprocess.Popen(command)
|
||||||
@ -417,7 +424,7 @@ def _preconnect(url):
|
|||||||
if ':' in host:
|
if ':' in host:
|
||||||
host, port = host.split(':')
|
host, port = host.split(':')
|
||||||
else:
|
else:
|
||||||
port = 22
|
port = None
|
||||||
if scheme in ('ssh', 'git+ssh', 'ssh+git'):
|
if scheme in ('ssh', 'git+ssh', 'ssh+git'):
|
||||||
return _open_ssh(host, port)
|
return _open_ssh(host, port)
|
||||||
return False
|
return False
|
||||||
@ -425,7 +432,7 @@ def _preconnect(url):
|
|||||||
m = URI_SCP.match(url)
|
m = URI_SCP.match(url)
|
||||||
if m:
|
if m:
|
||||||
host = m.group(1)
|
host = m.group(1)
|
||||||
return _open_ssh(host, 22)
|
return _open_ssh(host)
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user