Subject: Re: [PATCH] CodingGuidelines: document test balloons in flight

From: Junio C Hamano <[email-masked]>
Date: Thu, 24 Jul 2025 09:39:19 -0700

Patrick Steinhardt <[email-masked]> writes:

> On Wed, Jul 23, 2025 at 12:31:26PM -0700, Junio C Hamano wrote:
>> diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
>> index c1046abfb7..0776d15a95 100644
>> --- a/Documentation/CodingGuidelines
>> +++ b/Documentation/CodingGuidelines
>> @@ -298,6 +298,14 @@ For C programs:
>>     . since late 2021 with 44ba10d6, we have had variables declared in
>>       the for loop "for (int i = 0; i < 10; i++)".
>>  
>> +   C99 features we have test balloons for:
>> +
>> +   . since late 2024 with v2.48.0-rc0~20, we have test balloons for
>> +     compound literal syntax, e.g., (struct foo){ .member = value };
>> +     our hope is that no platforms we care about have trouble using
>> +     them, and officially adopt its wider use in mid 2026.  Do not add
>> +     more use of the syntax until that happens.
>
> Nice. I like that we now have an explicit deadline for people to
> complain about this feature not being supported on their platform.

I do not think the firm deadline has much practical effect.  Test
balloons are designed to be placed in a stable and non-optional part
of the codebase that is exercised by everybody, so even if your
update cycle from your upstream is once a year, you'd have four or
five major releases to try building and noticing that your platform
is unhappy about them.

So the only effect it would have is to smoke out truly slow platform
maintainers; if their users are happy enough with such slow upgrade,
they have lived and they can live with versions of Git that are
years stale that we no longer care about.