comparison mercurial/chgserver.py @ 39840:a9f56e4501c1

merge with stable
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 26 Sep 2018 08:46:56 -0700
parents 7cdd47d9ccf8 23a00bc90a3c
children e5fbdc3659fc
comparison
equal deleted inserted replaced
39839:9e8fcd2e78c1 39840:a9f56e4501c1
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 # b. or stdout is redirected by protectstdio(),
204 # these situations and will behave differently (write to stdout). 204 # because the chg client is not aware of these situations and
205 # will behave differently (i.e. write to stdout).
205 if (out is not self.fout 206 if (out is not self.fout
206 or not util.safehasattr(self.fout, 'fileno') 207 or not util.safehasattr(self.fout, 'fileno')
207 or self.fout.fileno() != procutil.stdout.fileno()): 208 or self.fout.fileno() != procutil.stdout.fileno()
209 or self._finoutredirected):
208 return procutil.system(cmd, environ=environ, cwd=cwd, out=out) 210 return procutil.system(cmd, environ=environ, cwd=cwd, out=out)
209 self.flush() 211 self.flush()
210 return self._csystem(cmd, procutil.shellenviron(environ), cwd) 212 return self._csystem(cmd, procutil.shellenviron(environ), cwd)
211 213
212 def _runpager(self, cmd, env=None): 214 def _runpager(self, cmd, env=None):