196 self._csystem = getattr(src, '_csystem', csystem) |
196 self._csystem = getattr(src, '_csystem', csystem) |
197 else: |
197 else: |
198 self._csystem = csystem |
198 self._csystem = csystem |
199 |
199 |
200 def _runsystem(self, cmd, environ, cwd, out): |
200 def _runsystem(self, cmd, environ, cwd, out): |
201 # fallback to the original system method if the output needs to be |
201 # fallback to the original system method if |
202 # captured (to self._buffers), or the output stream is not stdout |
202 # a. the output stream is not stdout (e.g. stderr, cStringIO), |
203 # (e.g. stderr, cStringIO), because the chg client is not aware of |
203 # because the chg client is not aware of these situations and |
204 # these situations and will behave differently (write to stdout). |
204 # will behave differently (i.e. write to stdout). |
205 if (out is not self.fout |
205 if (out is not self.fout |
206 or not util.safehasattr(self.fout, 'fileno') |
206 or not util.safehasattr(self.fout, 'fileno') |
207 or self.fout.fileno() != procutil.stdout.fileno()): |
207 or self.fout.fileno() != procutil.stdout.fileno()): |
208 return procutil.system(cmd, environ=environ, cwd=cwd, out=out) |
208 return procutil.system(cmd, environ=environ, cwd=cwd, out=out) |
209 self.flush() |
209 self.flush() |