diff options
Diffstat (limited to 'subcmds')
| -rw-r--r-- | subcmds/status.py | 11 |
1 files 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: | |||
| 111 | threads_and_output = [] | 111 | threads_and_output = [] |
| 112 | for project in all: | 112 | for project in all: |
| 113 | sem.acquire() | 113 | sem.acquire() |
| 114 | output = StringIO.StringIO() | 114 | |
| 115 | class BufList(StringIO.StringIO): | ||
| 116 | def dump(self, ostream): | ||
| 117 | for entry in self.buflist: | ||
| 118 | ostream.write(entry) | ||
| 119 | |||
| 120 | output = BufList() | ||
| 121 | |||
| 115 | t = _threading.Thread(target=self._StatusHelper, | 122 | t = _threading.Thread(target=self._StatusHelper, |
| 116 | args=(project, counter, sem, output)) | 123 | args=(project, counter, sem, output)) |
| 117 | threads_and_output.append((t, output)) | 124 | threads_and_output.append((t, output)) |
| 118 | t.start() | 125 | t.start() |
| 119 | for (t, output) in threads_and_output: | 126 | for (t, output) in threads_and_output: |
| 120 | t.join() | 127 | t.join() |
| 121 | sys.stdout.write(output.getvalue()) | 128 | output.dump(sys.stdout) |
| 122 | output.close() | 129 | output.close() |
| 123 | if len(all) == counter.next(): | 130 | if len(all) == counter.next(): |
| 124 | print 'nothing to commit (working directory clean)' | 131 | print 'nothing to commit (working directory clean)' |
