Re: [StGit PATCH 9/9] Use the default git colouring scheme rather than specific scripts
From: Shinya Kuribayashi <hidden>
Date: 2016-06-15 22:46:52
Catalin Marinas wrote:
quoted hunk ↗ jump to hunk
That's probably a better option. I changed the patch to this (only showing the relevant parts):--- a/stgit/commands/common.py +++ b/stgit/commands/common.py@@ -97,6 +97,15 @@ def git_commit(name, repository, branch_name = None): except libgit.RepositoryException: raise CmdException('%s: Unknown patch or revision name' % name) +def color_diff_flags(): + """Return the git flags for coloured diff output if the configuration and + stdout allows.""" + stdout_is_tty = (sys.stdout.isatty() and 'true') or 'false' + if config.get_colorbool('color.diff', stdout_is_tty) == 'true': + return ['--color'] + else: + return [] + def check_local_changes(): if git.local_changes(): raise CmdException('local changes in the tree. Use "refresh" or' --- a/stgit/config.py +++ b/stgit/config.py@@ -109,16 +110,18 @@ class GitConfig: if m: result.append(m.group(1)) return result + + def get_colorbool(self, name, stdout_is_tty): + """Invoke 'git config --get-colorbool' and return the result.""" + return Run('git', 'config', '--get-colorbool', name, + stdout_is_tty).output_one_line() config=GitConfig()
Proposed branch now works for me only with color.ui=auto. Thanks! -- Shinya Kuribayashi