mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
color: move git-subrepo support into the subrepo module
Now that all ui instance carry a '_colormode' attribute, we can access and comply to it directly in the subrepo code. The actual implementation could probably be a bit smarter, but we stick close to the current one for the sake of simplicity.
This commit is contained in:
parent
d02ff2c6a2
commit
be432559a1
@ -177,7 +177,6 @@ from mercurial import (
|
|||||||
commands,
|
commands,
|
||||||
dispatch,
|
dispatch,
|
||||||
extensions,
|
extensions,
|
||||||
subrepo,
|
|
||||||
ui as uimod,
|
ui as uimod,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -198,14 +197,7 @@ def uisetup(ui):
|
|||||||
if mode and mode != 'debug':
|
if mode and mode != 'debug':
|
||||||
color.configstyles(ui_)
|
color.configstyles(ui_)
|
||||||
return orig(ui_, opts, cmd, cmdfunc)
|
return orig(ui_, opts, cmd, cmdfunc)
|
||||||
def colorgit(orig, gitsub, commands, env=None, stream=False, cwd=None):
|
|
||||||
if gitsub.ui._colormode and len(commands) and commands[0] == "diff":
|
|
||||||
# insert the argument in the front,
|
|
||||||
# the end of git diff arguments is used for paths
|
|
||||||
commands.insert(1, '--color')
|
|
||||||
return orig(gitsub, commands, env, stream, cwd)
|
|
||||||
extensions.wrapfunction(dispatch, '_runcommand', colorcmd)
|
extensions.wrapfunction(dispatch, '_runcommand', colorcmd)
|
||||||
extensions.wrapfunction(subrepo.gitsubrepo, '_gitnodir', colorgit)
|
|
||||||
|
|
||||||
def extsetup(ui):
|
def extsetup(ui):
|
||||||
commands.globalopts.append(
|
commands.globalopts.append(
|
||||||
|
@ -1414,6 +1414,10 @@ class gitsubrepo(abstractsubrepo):
|
|||||||
errpipe = None
|
errpipe = None
|
||||||
if self.ui.quiet:
|
if self.ui.quiet:
|
||||||
errpipe = open(os.devnull, 'w')
|
errpipe = open(os.devnull, 'w')
|
||||||
|
if self.ui._colormode and len(commands) and commands[0] == "diff":
|
||||||
|
# insert the argument in the front,
|
||||||
|
# the end of git diff arguments is used for paths
|
||||||
|
commands.insert(1, '--color')
|
||||||
p = subprocess.Popen([self._gitexecutable] + commands, bufsize=-1,
|
p = subprocess.Popen([self._gitexecutable] + commands, bufsize=-1,
|
||||||
cwd=cwd, env=env, close_fds=util.closefds,
|
cwd=cwd, env=env, close_fds=util.closefds,
|
||||||
stdout=subprocess.PIPE, stderr=errpipe)
|
stdout=subprocess.PIPE, stderr=errpipe)
|
||||||
|
Loading…
Reference in New Issue
Block a user