[PATCH 0/4] oddities around add-interactive and color

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 20, 2025 at 06:04:40PM -0400, Jeff King wrote:

> I'd expect something like this:
> 
> diff --git a/add-interactive.c b/add-interactive.c
> index 3e692b47ec..ad8b4907e1 100644
> --- a/add-interactive.c
> +++ b/add-interactive.c
> @@ -50,6 +50,8 @@ void init_add_i_state(struct add_i_state *s, struct repository *r,
>  	else
>  		s->use_color =
>  			git_config_colorbool("color.interactive", value);
> +	if (s->use_color < 0 && !repo_config_get_value(r, "color.ui", &value))
> +		s->use_color = git_config_colorbool("color.ui", value);
>  	s->use_color = want_color(s->use_color);
>  
>  	init_color(r, s, "interactive.header", s->header_color, GIT_COLOR_BOLD);
> 
> to work, but it doesn't seem to. Maybe the diff code is independently
> looking at git_use_color_default, and we really do need to set the
> variable?

Ah, indeed. There's yet another bug here. And while adding a test for
that, I found a third bug. Yikes.

So here's a series which I think addresses everything I found. These
bugs have been lurking for a while, but I guess not many people tend to
set color variables to anything exotic.

  [1/4]: stash: pass --no-color to diff-tree child processes
  [2/4]: add-interactive: respect color.diff for diff coloring
  [3/4]: add-interactive: manually fall back color config to color.ui
  [4/4]: contrib/diff-highlight: mention interactive.diffFilter

 add-interactive.c             | 88 ++++++++++++++++++++++-------------
 add-interactive.h             |  7 ++-
 add-patch.c                   | 12 ++---
 builtin/stash.c               |  4 +-
 contrib/diff-highlight/README |  8 ++++
 t/t3701-add-interactive.sh    | 51 ++++++++++++++++++++
 t/t3904-stash-patch.sh        | 10 ++++
 7 files changed, 138 insertions(+), 42 deletions(-)

-Peff




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux