[prev in list] [next in list] [prev in thread] [next in thread] 

List:       git
Subject:    RE: C99 -> C11 or C17? (was: [PATCH 3/5] roaring: teach Git to write roaring bitmaps)
From:       <rsbecker () nexbridge ! com>
Date:       2022-10-31 20:55:09
Message-ID: 004601d8ed6b$13a2f580$3ae8e080$ () nexbridge ! com
[Download RAW message or body]

On October 31, 2022 1:51 PM, Ævar Arnfjörð Bjarmason wrote:
> On Mon, Oct 31 2022, Junio C Hamano wrote:
> 
> > Derrick Stolee <derrickstolee@github.com> writes:
> > 
> > > I HAVE OPINIONS! :D
> > > 
> > > Mostly, there are two things I'd like for you to keep in mind:
> > 
> > Nicely summarised.
> > 
> > Stepping back a bit, we do not care about how the sources to some
> > pieces of software we depend on, say OpenSSL, match our style guide.
> > It is because we do not even have to see them while working on Git,
> > but also because we do not have to maintain it.
> > 
> > So a third-option could be to fill pieces missing from the upstream
> > (e.g. big endian support) and contribute them back, and after that
> > treat them as just one of the external dependencies, just like we
> > happen to have a copy of sha1dc code for convenience but have an
> > option to use the upstream code as a submodule.
> > 
> > Assuming that such a "they are just one of our external dependencies,
> > just like OpenSSL or cURL libraries" happens, I would not worry too
> > much about C11, as long as use of roaring bitmaps can be made an
> > optional feature that can be disabled at compile time.
> > Bitmaps are used only for local optimization and never transferred
> > across repositories, so you having only ewah would not prevent you
> > from talking with other people with both ewah and roaring.
> 
> As an aside: We might think about just requiring C11 or C17 sooner than later.

As a request, there is no C11 or C17 on NonStop Itanium, which does not go off \
support until at least mid-2025. Requiring C11 or C17 will cut git updates off for \
that platform variant. NonStop x86 does not yet have C17, although it might in future \
(and I can report when it does - nonetheless, C11 will be required for some supported \
revisions of the operating system until 2030). Please do not do this.

C99 is the maximum guaranteed version available on all supported NonStop OS versions \
as of today. Git has thousands of NonStop users who would potentially be impacted and \
stuck without being able to obtain fixes for CVEs. In my opinion, and for many other \
Open-Source projects on which I maintain the platform, C11 and C17 do not contain a \
significant set of constructs that justify moving past C99, but it is obviously the \
git team's choice. This decision would leave us in the cold and would have to patch \
C99 code in to make git work.

Sincerely,
Randall


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic