mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Work around 'ControlPath too long' on Mac OS X
Mac OS X sets TMPDIR to a very long path within /var, so long that a socket created in that location is too big for a struct sockaddr_un on the platform, resulting in OpenSSH being unable to create or bind to a socket in that location. Instead we try to use the very short and very common /tmp, but fall back to the guessed default if /tmp does not exist. Signed-off-by: Shawn O. Pearce <sop@google.com>
This commit is contained in:
parent
a8421a128a
commit
d63bbf44dc
@ -35,8 +35,11 @@ def _ssh_sock(create=True):
|
||||
if _ssh_sock_path is None:
|
||||
if not create:
|
||||
return None
|
||||
dir = '/tmp'
|
||||
if not os.path.exists(dir):
|
||||
dir = tempfile.gettempdir()
|
||||
_ssh_sock_path = os.path.join(
|
||||
tempfile.mkdtemp('', 'ssh-'),
|
||||
tempfile.mkdtemp('', 'ssh-', dir),
|
||||
'master-%r@%h:%p')
|
||||
return _ssh_sock_path
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user