git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git diff --functional-changes ?
@ 2022-08-19 16:10 Christian Heller
  2022-08-22 15:53 ` Johannes Schindelin
  0 siblings, 1 reply; 2+ messages in thread
From: Christian Heller @ 2022-08-19 16:10 UTC (permalink / raw)
  To: git

Feature request

I recently ran GNU indent on a larger C project which made all diffs
horribly noisy.
Is there an option for git diff to ignore changes due to the placement
of curly braces '{', '}' ?
Equally helpful would be an option to ignore changes to comments.

Something like:
- delete all comments
- re-normalize line-breaks and indentation
- show only 'functional' changes

Regards,
Chris

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: git diff --functional-changes ?
  2022-08-19 16:10 git diff --functional-changes ? Christian Heller
@ 2022-08-22 15:53 ` Johannes Schindelin
  0 siblings, 0 replies; 2+ messages in thread
From: Johannes Schindelin @ 2022-08-22 15:53 UTC (permalink / raw)
  To: Christian Heller; +Cc: git

Hi Christian,

On Fri, 19 Aug 2022, Christian Heller wrote:

> Feature request
>
> I recently ran GNU indent on a larger C project which made all diffs
> horribly noisy.
> Is there an option for git diff to ignore changes due to the placement
> of curly braces '{', '}' ?
> Equally helpful would be an option to ignore changes to comments.
>
> Something like:
> - delete all comments
> - re-normalize line-breaks and indentation
> - show only 'functional' changes

This would be very language-specific, and if you find a utility that can
do that, you will want to use it in Git via the external diff extension
mechanism:
https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---ext-diff

As far as pure Git goes, I have had luck using the
[--ignore-space-change][space-change] and the [--word-diff][word-diff]
options.

To be honest, I use a custom word diff quite often:
`--word-diff=[A-Za-z0-9_]+|.`. This marks stretches of
alpha-numeric-plus-underscore characters as words, and treats all other
characters as single-character words, too (which means that it also colors
parentheses and such).

Maybe these help you, even if they do not solve precisely for what you
asked.

Ciao,
Johannes

[space-change]: https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---ignore-space-change
[word-diff]: https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---word-diffltmodegt

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-08-22 15:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-19 16:10 git diff --functional-changes ? Christian Heller
2022-08-22 15:53 ` Johannes Schindelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).