Re: [StGit PATCH 9/9] Use the default git colouring scheme rather than specific scripts
- From
- Shinya Kuribayashi <skuribay@pobox.com>
- Date
- May 30, 2009, 00:36 UTC
- Message-ID
- <4A207F8B.9060805@pobox.com>
- In-Reply-To
- <b0943d9e0905290522l377c8f35h7f442b183cb7c7d2@mail.gmail.com>
Catalin Marinas wrote:
Show 35 quoted lines
> 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