Subject: Re: [BUG] "git diff --word-diff" gives a diff while they are only space changes

From: Johannes Sixt <[email-masked]>
Date: Fri, 8 May 2026 14:48:01 +0200

Am 06.05.26 um 03:09 schrieb Vincent Lefevre:
> Consider the following two 5-line files:
> 
> file1:
> 
> 1
> 2
> 3
>  2
> 4
> 
> file2:
> 
> 1
>  2
>  3
>  2
>  4
> 
> On these files, "git diff --word-diff file1 file2" gives
> 
> --- a/file1
> +++ b/file2
> @@ -1,5 +1,5 @@
> 1
> [-2-]
> [-3-]
>  2
>  {+3+}
> {+ 2+}
>  4
> 
> instead of
> 
> --- a/file1
> +++ b/file2
> @@ -1,5 +1,5 @@
> 1
>  2
>  3
>  2
>  4
> 
> (e.g. as output by GNU wdiff 1.2.2).

This is expected behavior.

git diff --word-diff is not agnostic to whitespace; if you drop
--word-diff, you see the line-diff that the word-diff is based on. If
you want whitespace-agnostic word-diff, you have to add -w.

-- Hannes