Re: [PATCH 2/2] ls-files: add --sparse option
From: Derrick Stolee <hidden>
Date: 2021-12-10 13:57:33
On 12/9/2021 7:50 AM, Ævar Arnfjörð Bjarmason wrote:
On Wed, Dec 08 2021, Derrick Stolee wrote:quoted
On 12/8/2021 1:36 PM, Elijah Newren wrote:quoted
On Wed, Dec 8, 2021 at 10:23 AM Derrick Stolee [off-list ref] wrote:quoted
On 12/8/2021 12:04 PM, Elijah Newren wrote:quoted
This actually looks quite nice, though the magic '16' is kind of annoying. Could we get rid of that -- perhaps using something to rip out the diff header, or using comm instead?What I really want is "remove the first two lines of this file"Is `tail -n +3` portable? Looks like we have five uses of tail -n +N in the testsuite, so it should be okay to use.Ah, that's the magic incantation. Sounds good.quoted
quoted
but perhaps "tail -n $(wc -l expect)" would suffice to avoid a magic number?That works too.If the "-n +X" syntax works, then I'll opt for that.I think it should be per https://pubs.opengroup.org/onlinepubs/009695299/utilities/tail.html But isn't that "diff -u" non-portable, per GIT_TEST_CMP. I.e. sometimes we'll fall back on "cmp" etc.
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. Please let me know if I'm misreading this. Thanks, -Stolee