Subject: Re: [PATCH] t2080: fix cp invocation to copy symlinks instead of following them

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Mon, 31 May 2021 22:41:12 +0200

On Mon, May 31 2021, Matheus Tavares wrote:

> On Mon, May 31, 2021 at 11:16 AM Ævar Arnfjörð Bjarmason <[email-masked]> wrote:
>>
>> There's still a failure[1] in t2082-parallel-checkout-attributes.sh
>> though, which is new in 2.32.0-rc*. The difference is in an unexpected
>> BOM:
>>
>>    avar@gcc119:[/scratch/avar/git/t]perl -nle 'print unpack "H*"' trash\ directory.t2082-parallel-checkout-attributes/encoding/A.internal
>>    efbbbf74657874
>>    avar@gcc119:[/scratch/avar/git/t]perl -nle 'print unpack "H*"' trash\ directory.t2082-parallel-checkout-attributes/encoding/utf8-text 
>>    74657874
>>
>> I.e. the A.internal starts with 0xefbbbf. The 2nd test of t0028*.sh also
>> fails similarly[2], so perhaps it's some old/iconv/whatever issue not
>> per-se related to any change of yours.
>
> I ran t2080 on the same machine (gcc119) to try debugging it but I could
> not reproduce the test failure [1]. t0028 also passed here. Could it be
> that we are building git differently? I did `gmake CC=gcc NO_CURL=YesPlease`.

t2080 is fine, it's t2082 that's broken. But yes, we are using different
parameters. This works for me:

    gmake CC=gcc -j3 CFLAGS="-g -O2" NO_CURL=UnfortunatelyNot

This doesn't:

    gmake CC=xlc -j3 CFLAGS="-g -O2 -qmaxmem=524288" NO_CURL=UnfortunatelyNot

The reason I test on AIX / Solaris is to get from under the GNU-isms of
various libraries & away from the gcc/clang mono(bio?)culture.

I.e. you're testing with GNU iconv, but IBM also has its own
implementation:
https://www.ibm.com/docs/en/aix/7.1?topic=programming-understanding-libiconv
of that POSIX interface:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/iconv.html

Perhaps we've had some GNU-ism slip in somewhere...