Subject: Re: [PATCH v2] diff: ensure consistent diff behavior with -I<regex> across output formats

From: Junio C Hamano <[email-masked]>
Date: Sun, 03 Aug 2025 17:39:10 -0700

Lidong Yan <[email-masked]> writes:

> `git diff -I<regex>` option is inconsistently applied across various
> output formats. In some cases, files would appear in the `--name-only`
> output but not in the accompanying `--stat` or `-p` outputs, despite
> the user explicitly requesting to ignore certain changes using
> `-I<regex>`. Not only for `-I<regex>`, but this inconsistency also
> exists for other output formats that have `.diff_from_content` set
> (e.g. `-w`, `--ignore-space-at-eol` and `--ignore-space-change`).

Perhaps the above (and code, like the name of the helper functions
and possibly the name of the new file) should be updated to place
much stress on -I<regex>, as "ignore-regex" is not any more special
than other things that flips .diff_from_content bit in this new
iteration of the patch.

I do not quite get why ignore_match() has to know so much about how
the real code in diff.c that implements -I<regex> works, compared to
the illustration of "here is how to do it" Peff posted, though.  It
somehow feels too much duplicated code.

Thanks.