Subject: Re: [Failure] Re: git 2.40.0-rc1

From: Junio C Hamano <[email-masked]>
Date: Thu, 02 Mar 2023 12:00:10 -0800

<[email-masked]> writes:

> On Thursday, March 2, 2023 1:44 PM, Junio C Hamano wrote:
>><[email-masked]> writes:
>>
>>> Git 2.40.0-rc2 was a regression from rc1. The following new tests failed:

I think you are reporting -rc1 relative to -rc0.

>>> t3206 - virtually all subtests failed. An example of this failure is a
>>> results comparison in subtest 1 (seemingly relating to abbreviation):
>>> + test_cmp expect actual
>>> --- expect      2023-03-02 16:39:23 +0000
>>> +++ actual      2023-03-02 16:39:23 +0000
>>> @@ -1,4 +1,4 @@
>>> -1:  4de457d = 1:  35b9b25 s/5/A/
>>> -2:  fccce22 = 2:  de345ab s/4/A/
>>> -3:  147e64e = 3:  9af6654 s/11/B/
>>> -4:  a63e992 = 4:  2901f77 s/12/B/
>>> +1:  4de457d2c0d218f48d66f45f9b30f3aa62562105 = 1:
>>> 35b9b25f76d404d09a23e6c8efa96c3ce19e19aa s/5/A/
>>
>>Are any big endian machines involved?
>>
>>cf. https://lore.kernel.org/git/[email-masked]/
>
> Oh yes. All NonStop variants are big-endian. That hasn't changed the SHA-1
> signatures though.

There is a stupid sequence that slipped through the review

	char c = structPtr->intMember;

	if (c < 0)
		... do something ...

and where "char" is "unsigned char", the compiler thinks "do
something" will never trigger and from there everything goes
haywire.

The tip of 'master' already has a fix (and no other changes as of
this writing), and will be part of -rc2.

Thanks.