Wait for git-remote-persistent-https -print_config to exit

Change-Id: I5ab96e7c8575682217d440ddc52ecfdc8c35f179
This commit is contained in:
Dave Borowitz 2013-09-25 17:46:01 -07:00
parent bc0308478b
commit 0836a22d38

View File

@ -1831,17 +1831,22 @@ class Project(object):
['git-remote-persistent-https', '-print_config', url],
stdin=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
p.stdin.close() # Tell subprocess it's ok to close.
prefix = 'http.cookiefile='
cookiefile = None
for line in p.stdout:
line = line.strip()
if line.startswith(prefix):
return line[len(prefix):]
cookiefile = line[len(prefix):]
break
if p.wait():
line = iter(p.stderr).next()
if ' -print_config' in line:
pass # Persistent proxy doesn't support -print_config.
else:
print(line + p.stderr.read(), file=sys.stderr)
if cookiefile:
return cookiefile
except OSError as e:
if e.errno == errno.ENOENT:
pass # No persistent proxy.