On 12/9/2021 7:50 AM, Ævar Arnfjörð Bjarmason wrote: > > On Wed, Dec 08 2021, Derrick Stolee wrote: > >> On 12/8/2021 1:36 PM, Elijah Newren wrote: >>> On Wed, Dec 8, 2021 at 10:23 AM Derrick Stolee <stolee@xxxxxxxxx> wrote: >>>> >>>> On 12/8/2021 12:04 PM, Elijah Newren wrote: >>>>> >>>>> 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. >> >>>> 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