git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Jul 24, 2025, 14:26 UTC
Message-ID
<f954683b-b0be-4608-814d-23993316fcc2@gmail.com>
In-Reply-To
<xmqqecu6n1pt.fsf@gitster.g>
Hi Junio
On 23/07/2025 20:31, Junio C Hamano wrote:
Show 28 quoted lines
> Due to portability concerns, we do not blindly say "It is in [[this
> standard]], so we will make liberal use of it" for many features,
> and use of C99 language features follow this same principle.  When
> we contemplate adopting a language feature that we haven't used in
> our codebase, we typically first raise a test balloon, which
> 
>   - is a piece of code that exercises the language feature we are
>     trying to see if it is OK to adopt
> 
>   - is in a small section of code that we know everybody who cares
>     about having a working Git must be compiling
> 
>   - is in a fairly stable part of the code, to allow reverting it
>     easily if some platforms do not understand it yet.
> 
> After a few years, with no breakage report from the community, we'd
> declare that the feature is now safe to use in our codebase.  Before
> that, we forbid the use of the language construct except for the
> designated test balloon code site.
> 
> The CodingGuidelines document lists these selected features that we
> already have determined that they are safe, and also those features
> that we know some platforms had trouble with.
> 
> Let's also start listing ongoing test balloons and expected timeline
> for adoption.
> 
> Helped-by: Phillip Wood <phillip.wood@dunelm.org.uk>

I'm not sure what I've done to deserve that - it was Patrick that pointed out the test balloon already existed. The patch and the commit message look good to me.

Thanks
Phillip
Show 24 quoted lines
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>   Documentation/CodingGuidelines | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> 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.
> +
>      New C99 features that we cannot use yet:
>   
>      . %z and %zu as a printf() argument for a size_t (the %z being for
Previous: Junio C HamanoNext: Junio C Hamano
Message 13 of 15 in “strbuf: add compound literal test balloon”
  1. strbuf: add compound literal test balloonPhillip Wood, Jul 14, 2025
  2. Junio C HamanoJul 14, 2025
  3. Patrick SteinhardtJul 15, 2025
  4. Phillip WoodJul 15, 2025
  5. Junio C HamanoJul 15, 2025
  6. Phillip WoodJul 16, 2025
  7. Junio C HamanoJul 23, 2025
  8. CodingGuidelines: document test balloons in flightJunio C Hamano, Jul 23, 2025
  9. Patrick SteinhardtJul 24, 2025
  10. Junio C HamanoJul 24, 2025
  11. Collin FunkJul 24, 2025
  12. Junio C HamanoJul 26, 2025
  13. Phillip WoodJul 24, 2025
  14. Junio C HamanoJul 24, 2025
  15. Phillip WoodJul 16, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.