comparison mercurial/ui.py @ 31107:fbce78c58f1e

chg: refactor ui.system() to be partly overridden Since fd598149112b changed the signature of ui.system(), chgui.system() should have been updated. This patch factors out the util.system() call so that chg can override how a shell command is executed.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 19 Feb 2017 01:00:10 +0900
parents a185b903bda3
children 3f8f53190d6a
comparison
equal deleted inserted replaced
31106:a185b903bda3 31107:fbce78c58f1e
1286 blockedtag = 'unknown_system_' + cmd.translate(None, _keepalnum) 1286 blockedtag = 'unknown_system_' + cmd.translate(None, _keepalnum)
1287 out = self.fout 1287 out = self.fout
1288 if any(s[1] for s in self._bufferstates): 1288 if any(s[1] for s in self._bufferstates):
1289 out = self 1289 out = self
1290 with self.timeblockedsection(blockedtag): 1290 with self.timeblockedsection(blockedtag):
1291 return util.system(cmd, environ=environ, cwd=cwd, onerr=onerr, 1291 return self._runsystem(cmd, environ=environ, cwd=cwd, onerr=onerr,
1292 errprefix=errprefix, out=out) 1292 errprefix=errprefix, out=out)
1293
1294 def _runsystem(self, cmd, environ, cwd, onerr, errprefix, out):
1295 """actually execute the given shell command (can be overridden by
1296 extensions like chg)"""
1297 return util.system(cmd, environ=environ, cwd=cwd, onerr=onerr,
1298 errprefix=errprefix, out=out)
1293 1299
1294 def traceback(self, exc=None, force=False): 1300 def traceback(self, exc=None, force=False):
1295 '''print exception traceback if traceback printing enabled or forced. 1301 '''print exception traceback if traceback printing enabled or forced.
1296 only to call in exception handler. returns true if traceback 1302 only to call in exception handler. returns true if traceback
1297 printed.''' 1303 printed.'''