Subject: Re: [PATCH 2/2] ls-files: add --sparse option

From: Junio C Hamano <[email-masked]>
Date: Mon, 13 Dec 2021 11:16:22 -0800

Derrick Stolee <[email-masked]> writes:

> You're talking about this hunk, right?
>
> if test -z "$GIT_TEST_CMP"
> then
> 	if test -n "$GIT_TEST_CMP_USE_COPIED_CONTEXT"
> 	then
> 		GIT_TEST_CMP="$DIFF -c"
> 	else
> 		GIT_TEST_CMP="$DIFF -u"
> 	fi
> fi
>
> This only switches from "diff -u" to "diff -c" if the
> GIT_TEST_CMP_USE_COPIED_CONTEXT variable is set, but it is not set
> by default. Thus, we are using "diff -u" by default throughout.

That it can be set merely means that somebody needed to work around
the lack of "-u" format in their implementation of "diff".  It came
to POSIX only at the Issue 7 of the standard (cf. [*1*]).

Unconditional use of "diff -u" is a breaking change for them.

If these people still exist, that is ;-)

[Reference]

*1* https://pubs.opengroup.org/onlinepubs/9699919799/utilities/diff.html
The Open Group Base Specifications Issue 7, 2018 edition