From ccf86432b39ce2506fca472bbdbe379fdc53d3e3 Mon Sep 17 00:00:00 2001 From: Cezary Baginski Date: Mon, 23 Apr 2012 23:55:35 +0200 Subject: [PATCH] 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 --- subcmds/status.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/subcmds/status.py b/subcmds/status.py index 7187f4b1..69e2dbfc 100644 --- a/subcmds/status.py +++ b/subcmds/status.py @@ -111,14 +111,21 @@ the following meanings: 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)'