Mercurial > hg-stable
changeset 31119:96d561c90ad0
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.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Tue, 21 Feb 2017 17:50:04 +0100 |
parents | 9021a94a7dbf |
children | c1997c5d1ae3 |
files | hgext/color.py mercurial/subrepo.py |
diffstat | 2 files changed, 4 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/color.py Thu Dec 22 14:30:46 2016 +0100 +++ b/hgext/color.py Tue Feb 21 17:50:04 2017 +0100 @@ -177,7 +177,6 @@ commands, dispatch, extensions, - subrepo, ui as uimod, ) @@ -198,14 +197,7 @@ if mode and mode != 'debug': color.configstyles(ui_) 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(subrepo.gitsubrepo, '_gitnodir', colorgit) def extsetup(ui): commands.globalopts.append(
--- a/mercurial/subrepo.py Thu Dec 22 14:30:46 2016 +0100 +++ b/mercurial/subrepo.py Tue Feb 21 17:50:04 2017 +0100 @@ -1414,6 +1414,10 @@ errpipe = None if self.ui.quiet: 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, cwd=cwd, env=env, close_fds=util.closefds, stdout=subprocess.PIPE, stderr=errpipe)