project: fix bytes/str encoding when updating git submodules Since tempfile.mkstemp() returns a file handle in binary mode, make sure we turn our strings into bytes before writing. Bug: https://crbug.com/gerrit/12043 Change-Id: I3e84d595e84b8bc12a1fbc7fd0bb3ea0ba2832b0 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/254393 Reviewed-by: Michael Mortensen <mmortensen@google.com> Reviewed-by: Mike Frysinger <vapier@google.com> Tested-by: Mike Frysinger <vapier@google.com> (cherry picked from commit 163d42eb43ba79677aae22fa859896010badba9b)
diff --git a/project.py b/project.py index 281ba4b..77b97f7 100644 --- a/project.py +++ b/project.py
@@ -1989,7 +1989,7 @@ gitmodules_lines = [] fd, temp_gitmodules_path = tempfile.mkstemp() try: - os.write(fd, p.stdout) + os.write(fd, p.stdout.encode('utf-8')) os.close(fd) cmd = ['config', '--file', temp_gitmodules_path, '--list'] p = GitCommand(None, cmd, capture_stdout=True, capture_stderr=True,