Re: [BUG] "git diff --word-diff" gives a diff while they are only space changes
- From
Junio C Hamano <gitster@pobox.com>
- Date
- May 19, 2026, 03:11 UTC
- Message-ID
- <xmqqo6ic8564.fsf@gitster.g>
- In-Reply-To
- <CAPx1Gvd_FqnsjCkpAA5uy7aDz9oQnWx7WTvKk-kLWemkqF9PsQ@mail.gmail.com>
Chris Torek <chris.torek@gmail.com> writes:
Show 25 quoted lines
> Call it an "implementation note" (or, if you like, a "practical > consideration"?). > Something along these lines might work... > > Implementation Note > > The --word-diff option currently operates by taking the same > line by line diff that you get without the option, then massaging > the result into a word-by-word difference. This may cause an > unnecessarily-larger diff than you would see with a more-clever > implementation. If and when Git acquires a more-clever > implementation, the output may change. Note that this is > similar to the --diff-algorithm option, which may change the > output. > > Regardless of which algorithm is used, _any_ diff simply shows > _a_ way to achieve some particular change. It's impossible for > any algorithm to tell whether someone deleted two lines and > then put one back exactly as it appeared earlier, saving the > resulting text, vs deleting a single line, for instance. Only a > keystroke-by-keystroke logger would be able to tell what the > human operator actually typed into some editor. Git does > not have that information, and having it is not desired. > > Chris
I understand your frustration in the second paragraph ;-) but let's not go there. The first paragraph is excellent. It gives readers a clear enough explanation to understand what is happening and stop complaining where there is nothing to complain about (which is already hinted by the "Note that" at the end).