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 _ssh_sock_path is None:
|
||||||
if not create:
|
if not create:
|
||||||
return None
|
return None
|
||||||
|
dir = '/tmp'
|
||||||
|
if not os.path.exists(dir):
|
||||||
|
dir = tempfile.gettempdir()
|
||||||
_ssh_sock_path = os.path.join(
|
_ssh_sock_path = os.path.join(
|
||||||
tempfile.mkdtemp('', 'ssh-'),
|
tempfile.mkdtemp('', 'ssh-', dir),
|
||||||
'master-%r@%h:%p')
|
'master-%r@%h:%p')
|
||||||
return _ssh_sock_path
|
return _ssh_sock_path
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user