Avoid failing concat for multi-encoding filenames
repo status should output filenames one by one instead of trying to
build a string from incompatible encodings (like utf-8 and sjis
filenames)
Change-Id: I52282236ececa562f109f9ea4b2e971d2b4bc045
diff --git a/subcmds/status.py b/subcmds/status.py
index 7187f4b..69e2dbf 100644
--- a/subcmds/status.py
+++ b/subcmds/status.py
@@ -111,14 +111,21 @@
threads_and_output = []
for project in all:
sem.acquire()
- output = StringIO.StringIO()
+
+ class BufList(StringIO.StringIO):
+ def dump(self, ostream):
+ for entry in self.buflist:
+ ostream.write(entry)
+
+ output = BufList()
+
t = _threading.Thread(target=self._StatusHelper,
args=(project, counter, sem, output))
threads_and_output.append((t, output))
t.start()
for (t, output) in threads_and_output:
t.join()
- sys.stdout.write(output.getvalue())
+ output.dump(sys.stdout)
output.close()
if len(all) == counter.next():
print 'nothing to commit (working directory clean)'