mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
git_command: fix input passing
After reworking this function to use subprocess for output capturing
in commit c87c1863b1
("git_command:
switch process capturing over to subprocess"), passing input via
stdin write no longer works. We have to pass it via communicate(),
and we have to pass it a string instead of bytes (since we always
use encoding='utf-8' now). This is fine since the only user of the
input= setting today is already passing in a string.
Bug: https://crbug.com/gerrit/16151
Change-Id: Ic58db1e568b8f8aa840a6d62c5a157c14aa6d9bc
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/343515
Tested-by: Mike Frysinger <vapier@google.com>
Reviewed-by: LaMont Jones <lamontjones@google.com>
This commit is contained in:
parent
07d21e6bde
commit
63a5657ecf
@ -281,14 +281,9 @@ class GitCommand(object):
|
||||
ssh_proxy.add_client(p)
|
||||
|
||||
self.process = p
|
||||
if input:
|
||||
if isinstance(input, str):
|
||||
input = input.encode('utf-8')
|
||||
p.stdin.write(input)
|
||||
p.stdin.close()
|
||||
|
||||
try:
|
||||
self.stdout, self.stderr = p.communicate()
|
||||
self.stdout, self.stderr = p.communicate(input=input)
|
||||
finally:
|
||||
if ssh_proxy:
|
||||
ssh_proxy.remove_client(p)
|
||||
|
Loading…
Reference in New Issue
Block a user