From: Junio C Hamano <gitster@pobox.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: git@vger.kernel.org,
"Haelwenn (lanodan) Monnier" <contact@hacktivis.me>,
"brian m. carlson" <sandals@crustytoothpaste.net>,
Ben Knoble <ben.knoble@gmail.com>,
Christian Brabandt <cb@256bit.org>,
Collin Funk <collin.funk1@gmail.com>,
Eli Schwartz <eschwartz@gentoo.org>,
Elijah Newren <newren@gmail.com>,
Ezekiel Newren <ezekielnewren@gmail.com>,
Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Phillip Wood <phillip.wood123@gmail.com>,
Pierre-Emmanuel Patry <pierre-emmanuel.patry@embecosm.com>,
Sam James <sam@gentoo.org>, Taylor Blau <me@ttaylorr.com>
Subject: Re: [PATCH RFC v4 7/9] BreakingChanges: announce Rust becoming mandatory
Date: Wed, 10 Sep 2025 14:20:24 -0700 [thread overview]
Message-ID: <xmqqldmmqa1z.fsf@gitster.g> (raw)
In-Reply-To: <20250910-b4-pks-rust-breaking-change-v4-7-4a63fc69278d@pks.im> (Patrick Steinhardt's message of "Wed, 10 Sep 2025 17:35:53 +0200")
Patrick Steinhardt <ps@pks.im> writes:
> +* Git will require Rust as a mandatory part of the build process. While Git
> + already started to adopt Rust in Git 2.52, all parts written in Rust are
> + optional for the time being. This includes:
> ++
> + ** Subsystems that have an alternative implementation in Rust to test
> + interoperability between our C and Rust codebase.
> + ** Newly written features that are not mission critical for a fully functional
> + Git client.
This is a bit funny way to phrase the intent, even though I do fully
support the intent expressed here.
When this topic becomes part of the code base, we are likely to have
varint in the first category, but if we have nothing that falls in
the second category, that would feel somewhat odd.
> +These changes are meant as test balloons to allow distributors of Git to prepare
> +for Rust becoming a mandatory part of the build process. There will be multiple
Are they still "test balloons"? I thought that we established that
the point of these breaking changes is quite different from what we
have called "test balloons" for. It is not like allowing them
anything (like interfering to delay or stop, which would not likely
to happen at this point if this patch gets part of the code base),
but is used as a bit more forceful way for us to tell them and make
sure they are aware of the upcoming change.
> +milestones for the introduction of Rust:
> ++
> +1. Initially, with Git 2.52, support for Rust will be auto-detected by Meson and
> + disabled in our Makefile so that the project can sort out the initial
> + infrastructure.
> +2. In Git 2.53, both build systems will default-enable support for Rust.
> + Consequently, builds will break by default if Rust is not available on the
> + build host. The use of Rust can still be explicitly disabled via build
> + flags.
> +3. In Git 3.0, the build options will be removed and support for Rust is
> + mandatory.
I like the vagueness of the gap between step 2 and 3 here ;-)
> +The Git project will declare the last version before Git 3.0 to be a long-term
> +support release. This long-term release will receive important bug fixes for at
> +least four release cycles and security fixes for six release cycles. The Git
> +project will hand over maintainership of the long-term release to distributors
> +in case they need to extend the life of that long-term release even further. In
> +that case, the backporting process will be handled by these distributors, but
> +the backported patches will be reviewed on the mailing list and pulled in by the
> +Git maintainer.
I am having a hard time imagining the practicality of this "hand
over but we still review" arrangement. Some of the security fixes
are embargoed, and the reason why we are jetissoning the stale
codebase is presumably because nobody is willing to work on it other
than the "community support" folks. I can imagine that we would
qualify them into the git-security cabal and let them use the forum
to coordinate among themselves, but then to what degree in the
"community support themselves" process is our involvement expected?
As long as we can make sure that they do not leak before the
official embargoed release, they do not need an official stamp of
approval from the project or by the Git maintainer---that is what it
means to "hand over maintainer ship", at least to me.
In other words, I like what I see in this paragraph, but I do not
think we can practically live with the part of the sentence after
the last ", but".
Thanks.
next prev parent reply other threads:[~2025-09-10 21:20 UTC|newest]
Thread overview: 207+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-04 14:26 [PATCH RFC 0/3] Introduce Rust and announce that it will become mandatorty Patrick Steinhardt
2025-09-04 14:26 ` [PATCH RFC 1/3] meson: add infrastructure to build internal Rust library Patrick Steinhardt
2025-09-04 18:50 ` Junio C Hamano
2025-09-05 7:53 ` Patrick Steinhardt
2025-09-04 22:06 ` brian m. carlson
2025-09-04 22:46 ` Junio C Hamano
2025-09-05 7:49 ` Patrick Steinhardt
2025-09-05 1:16 ` Eli Schwartz
2025-09-05 7:50 ` Patrick Steinhardt
2025-09-05 13:20 ` Eli Schwartz
2025-09-04 14:26 ` [PATCH RFC 2/3] rust: implement a test balloon via the "varint" subsystem Patrick Steinhardt
2025-09-04 22:37 ` brian m. carlson
2025-09-05 7:54 ` Patrick Steinhardt
2025-09-04 23:39 ` Ezekiel Newren
2025-09-05 2:00 ` Eli Schwartz
2025-09-05 7:54 ` Patrick Steinhardt
2025-09-05 13:39 ` Eli Schwartz
2025-09-07 20:07 ` Ben Knoble
2025-09-08 4:39 ` Junio C Hamano
2025-09-08 11:39 ` Patrick Steinhardt
2025-09-09 0:49 ` Ben Knoble
2025-09-09 15:27 ` Junio C Hamano
2025-09-08 6:44 ` Patrick Steinhardt
2025-09-04 14:26 ` [PATCH RFC 3/3] BreakingChanges: announce Rust becoming mandatory Patrick Steinhardt
2025-09-04 17:38 ` Eric Sunshine
2025-09-05 7:54 ` Patrick Steinhardt
2025-09-05 11:50 ` [PATCH RFC v2 0/7] Introduce Rust and announce that it will become mandatorty Patrick Steinhardt
2025-09-05 11:50 ` [PATCH RFC v2 1/7] meson: add infrastructure to build internal Rust library Patrick Steinhardt
2025-09-05 17:47 ` Justin Tobler
2025-09-08 6:42 ` Patrick Steinhardt
2025-09-07 4:54 ` Elijah Newren
2025-09-08 6:42 ` Patrick Steinhardt
2025-09-05 11:50 ` [PATCH RFC v2 2/7] Makefile: introduce " Patrick Steinhardt
2025-09-05 20:21 ` brian m. carlson
2025-09-08 6:40 ` Patrick Steinhardt
2025-09-07 4:58 ` Elijah Newren
2025-09-08 6:41 ` Patrick Steinhardt
2025-09-07 15:26 ` SZEDER Gábor
2025-09-08 6:41 ` Patrick Steinhardt
2025-09-05 11:50 ` [PATCH RFC v2 3/7] help: report on whether or not Rust is enabled Patrick Steinhardt
2025-09-05 19:51 ` brian m. carlson
2025-09-07 5:00 ` Elijah Newren
2025-09-05 11:51 ` [PATCH RFC v2 4/7] rust: implement a test balloon via the "varint" subsystem Patrick Steinhardt
2025-09-05 21:46 ` Junio C Hamano
2025-09-05 22:39 ` Junio C Hamano
2025-09-05 23:04 ` brian m. carlson
2025-09-05 11:51 ` [PATCH RFC v2 5/7] BreakingChanges: announce Rust becoming mandatory Patrick Steinhardt
2025-09-05 12:45 ` Matthias Aßhauer
2025-09-05 13:38 ` Patrick Steinhardt
2025-09-05 14:38 ` Eli Schwartz
2025-09-08 6:42 ` Patrick Steinhardt
2025-09-07 5:31 ` Elijah Newren
2025-09-08 6:42 ` Patrick Steinhardt
2025-09-05 14:22 ` Phillip Wood
2025-09-05 14:32 ` Eli Schwartz
2025-09-05 19:34 ` brian m. carlson
2025-09-07 5:25 ` Elijah Newren
2025-09-05 11:51 ` [PATCH RFC v2 6/7] ci: convert "pedantic" job into full build with breaking changes Patrick Steinhardt
2025-09-07 0:21 ` Junio C Hamano
2025-09-08 6:41 ` Patrick Steinhardt
2025-09-05 11:51 ` [PATCH RFC v2 7/7] ci: enable Rust for breaking-changes jobs Patrick Steinhardt
2025-09-05 19:56 ` brian m. carlson
2025-09-08 6:40 ` Patrick Steinhardt
2025-09-05 21:00 ` Junio C Hamano
2025-09-08 6:40 ` Patrick Steinhardt
2025-09-05 14:14 ` [PATCH RFC v2 0/7] Introduce Rust and announce that it will become mandatorty Phillip Wood
2025-09-05 14:28 ` Patrick Steinhardt
2025-09-07 4:31 ` Elijah Newren
2025-09-08 6:44 ` Patrick Steinhardt
2025-09-08 23:00 ` brian m. carlson
2025-09-10 8:21 ` Patrick Steinhardt
2025-09-09 6:33 ` Elijah Newren
2025-09-10 8:21 ` Patrick Steinhardt
2025-09-09 9:12 ` Phillip Wood
2025-09-10 8:21 ` Patrick Steinhardt
2025-09-10 9:32 ` Phillip Wood
2025-09-10 10:49 ` Patrick Steinhardt
2025-09-08 14:13 ` [PATCH RFC v3 0/8] " Patrick Steinhardt
2025-09-08 14:13 ` [PATCH RFC v3 1/8] meson: add infrastructure to build internal Rust library Patrick Steinhardt
2025-09-08 22:09 ` brian m. carlson
2025-09-09 1:03 ` brian m. carlson
2025-09-10 8:22 ` Patrick Steinhardt
2025-09-08 14:13 ` [PATCH RFC v3 2/8] Makefile: reorder sources after includes Patrick Steinhardt
2025-09-08 14:13 ` [PATCH RFC v3 3/8] Makefile: introduce infrastructure to build internal Rust library Patrick Steinhardt
2025-09-08 14:13 ` [PATCH RFC v3 4/8] help: report on whether or not Rust is enabled Patrick Steinhardt
2025-09-08 14:13 ` [PATCH RFC v3 5/8] rust: implement a test balloon via the "varint" subsystem Patrick Steinhardt
2025-09-08 17:19 ` Ezekiel Newren
2025-09-08 22:22 ` brian m. carlson
2025-09-10 8:22 ` Patrick Steinhardt
2025-09-08 14:13 ` [PATCH RFC v3 6/8] BreakingChanges: announce Rust becoming mandatory Patrick Steinhardt
2025-09-08 14:13 ` [PATCH RFC v3 7/8] ci: convert "pedantic" job into full build with breaking changes Patrick Steinhardt
2025-09-08 14:13 ` [PATCH RFC v3 8/8] ci: enable Rust for breaking-changes jobs Patrick Steinhardt
2025-09-08 14:20 ` [PATCH RFC v3 0/8] Introduce Rust and announce that it will become mandatorty Kristoffer Haugsbakk
2025-09-10 15:35 ` [PATCH RFC v4 0/9] Introduce Rust and announce that it will become mandatory Patrick Steinhardt
2025-09-10 15:35 ` [PATCH RFC v4 1/9] meson: add infrastructure to build internal Rust library Patrick Steinhardt
2025-09-11 21:33 ` brian m. carlson
2025-09-10 15:35 ` [PATCH RFC v4 2/9] Makefile: reorder sources after includes Patrick Steinhardt
2025-09-10 15:35 ` [PATCH RFC v4 3/9] Makefile: introduce infrastructure to build internal Rust library Patrick Steinhardt
2025-09-10 15:35 ` [PATCH RFC v4 4/9] help: report on whether or not Rust is enabled Patrick Steinhardt
2025-09-10 15:35 ` [PATCH RFC v4 5/9] varint: use explicit width for integers Patrick Steinhardt
2025-09-10 21:04 ` Junio C Hamano
2025-09-10 15:35 ` [PATCH RFC v4 6/9] varint: reimplement as test balloon for Rust Patrick Steinhardt
2025-09-10 15:35 ` [PATCH RFC v4 7/9] BreakingChanges: announce Rust becoming mandatory Patrick Steinhardt
2025-09-10 21:20 ` Junio C Hamano [this message]
2025-09-15 10:53 ` Patrick Steinhardt
2025-09-22 16:24 ` Junio C Hamano
2025-09-23 5:32 ` Patrick Steinhardt
2025-09-23 8:53 ` LTS "lieutenant", was " Johannes Schindelin
2025-09-24 13:47 ` Patrick Steinhardt
2025-09-23 14:31 ` Junio C Hamano
2025-09-24 12:53 ` Patrick Steinhardt
2025-09-24 17:43 ` Junio C Hamano
2025-09-10 21:42 ` Kristoffer Haugsbakk
2025-09-15 10:53 ` Patrick Steinhardt
2025-09-10 15:35 ` [PATCH RFC v4 8/9] ci: convert "pedantic" job into full build with breaking changes Patrick Steinhardt
2025-09-10 15:35 ` [PATCH RFC v4 9/9] ci: enable Rust for breaking-changes jobs Patrick Steinhardt
2025-09-11 21:55 ` [PATCH RFC v4 0/9] Introduce Rust and announce that it will become mandatory brian m. carlson
2025-09-15 10:53 ` Patrick Steinhardt
2025-09-12 15:45 ` SZEDER Gábor
2025-09-12 16:32 ` Junio C Hamano
2025-09-15 10:50 ` Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 " Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 1/9] meson: add infrastructure to build internal Rust library Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 2/9] Makefile: reorder sources after includes Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 3/9] Makefile: introduce infrastructure to build internal Rust library Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 4/9] help: report on whether or not Rust is enabled Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 5/9] varint: use explicit width for integers Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 6/9] varint: reimplement as test balloon for Rust Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 7/9] BreakingChanges: announce Rust becoming mandatory Patrick Steinhardt
2025-09-17 22:09 ` SZEDER Gábor
2025-09-18 1:19 ` brian m. carlson
2025-09-22 19:34 ` SZEDER Gábor
2025-09-22 20:59 ` Junio C Hamano
2025-09-22 22:15 ` brian m. carlson
2025-09-22 22:56 ` Junio C Hamano
2025-09-23 1:59 ` Elijah Newren
2025-09-23 4:54 ` Patrick Steinhardt
2025-09-23 14:17 ` Junio C Hamano
2025-09-23 0:43 ` Ezekiel Newren
2025-09-19 13:59 ` Phillip Wood
2025-09-22 13:01 ` Patrick Steinhardt
2025-09-22 14:07 ` Phillip Wood
2025-09-22 14:38 ` Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 8/9] ci: convert "pedantic" job into full build with breaking changes Patrick Steinhardt
2025-09-15 11:22 ` [PATCH v5 9/9] ci: enable Rust for breaking-changes jobs Patrick Steinhardt
2025-09-15 17:12 ` [PATCH v5 0/9] Introduce Rust and announce that it will become mandatory Junio C Hamano
2025-09-16 2:03 ` Ezekiel Newren
2025-09-16 10:06 ` Patrick Steinhardt
2025-09-17 12:07 ` Sam James
2025-09-17 17:30 ` Ezekiel Newren
2025-09-16 22:25 ` Ramsay Jones
2025-09-16 23:38 ` Ezekiel Newren
2025-09-17 18:32 ` Ramsay Jones
2025-09-18 3:47 ` Elijah Newren
2025-09-25 1:10 ` what's missing from newer C? [was: [PATCH v5 0/9] Introduce Rust ....] Eric Wong
2025-09-26 22:17 ` Ezekiel Newren
2025-10-04 1:02 ` Eric Wong
2025-10-06 9:13 ` Pierre-Emmanuel Patry
2025-09-19 18:41 ` [PATCH RFC 0/3] Introduce Rust and announce that it will become mandatorty John Paul Adrian Glaubitz
2025-09-22 13:01 ` Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 0/9] Introduce Rust and announce that it will become mandatory Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 1/9] meson: add infrastructure to build internal Rust library Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 2/9] Makefile: reorder sources after includes Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 3/9] Makefile: introduce infrastructure to build internal Rust library Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 4/9] help: report on whether or not Rust is enabled Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 5/9] varint: use explicit width for integers Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 6/9] varint: reimplement as test balloon for Rust Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 7/9] BreakingChanges: announce Rust becoming mandatory Patrick Steinhardt
2025-09-23 15:29 ` Phillip Wood
2025-09-23 17:29 ` Junio C Hamano
2025-09-24 5:03 ` Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 8/9] ci: convert "pedantic" job into full build with breaking changes Patrick Steinhardt
2025-09-23 9:45 ` [PATCH v6 9/9] ci: enable Rust for breaking-changes jobs Patrick Steinhardt
2025-09-23 20:15 ` [PATCH v6 0/9] Introduce Rust and announce that it will become mandatory Ezekiel Newren
2025-09-24 5:02 ` Patrick Steinhardt
2025-09-24 14:34 ` Ezekiel Newren
2025-09-25 6:30 ` [PATCH v7 " Patrick Steinhardt
2025-09-25 6:30 ` [PATCH v7 1/9] meson: add infrastructure to build internal Rust library Patrick Steinhardt
2025-09-25 6:30 ` [PATCH v7 2/9] Makefile: reorder sources after includes Patrick Steinhardt
2025-09-25 21:33 ` Ramsay Jones
2025-09-25 6:30 ` [PATCH v7 3/9] Makefile: introduce infrastructure to build internal Rust library Patrick Steinhardt
2025-09-25 6:30 ` [PATCH v7 4/9] help: report on whether or not Rust is enabled Patrick Steinhardt
2025-09-25 6:30 ` [PATCH v7 5/9] varint: use explicit width for integers Patrick Steinhardt
2025-09-30 13:34 ` Kristoffer Haugsbakk
2025-10-01 17:22 ` Ezekiel Newren
2025-10-02 7:30 ` Patrick Steinhardt
2025-09-25 6:30 ` [PATCH v7 6/9] varint: reimplement as test balloon for Rust Patrick Steinhardt
2025-10-01 17:21 ` Ezekiel Newren
2025-10-01 19:44 ` Junio C Hamano
2025-09-25 6:30 ` [PATCH v7 7/9] BreakingChanges: announce Rust becoming mandatory Patrick Steinhardt
2025-09-25 6:30 ` [PATCH v7 8/9] ci: convert "pedantic" job into full build with breaking changes Patrick Steinhardt
2025-09-25 6:30 ` [PATCH v7 9/9] ci: enable Rust for breaking-changes jobs Patrick Steinhardt
2025-09-25 16:35 ` [PATCH v7 0/9] Introduce Rust and announce that it will become mandatory Junio C Hamano
2025-10-01 18:43 ` Ezekiel Newren
2025-10-02 7:29 ` [PATCH v8 " Patrick Steinhardt
2025-10-02 7:29 ` [PATCH v8 1/9] meson: add infrastructure to build internal Rust library Patrick Steinhardt
2025-10-02 7:29 ` [PATCH v8 2/9] Makefile: reorder sources after includes Patrick Steinhardt
2025-10-02 7:29 ` [PATCH v8 3/9] Makefile: introduce infrastructure to build internal Rust library Patrick Steinhardt
2025-10-02 7:29 ` [PATCH v8 4/9] help: report on whether or not Rust is enabled Patrick Steinhardt
2025-10-02 7:29 ` [PATCH v8 5/9] varint: use explicit width for integers Patrick Steinhardt
2025-10-02 7:29 ` [PATCH v8 6/9] varint: reimplement as test balloon for Rust Patrick Steinhardt
2025-10-02 7:29 ` [PATCH v8 7/9] BreakingChanges: announce Rust becoming mandatory Patrick Steinhardt
2025-10-02 7:29 ` [PATCH v8 8/9] ci: convert "pedantic" job into full build with breaking changes Patrick Steinhardt
2025-10-02 7:29 ` [PATCH v8 9/9] ci: enable Rust for breaking-changes jobs Patrick Steinhardt
2025-10-02 16:38 ` [PATCH v8 0/9] Introduce Rust and announce that it will become mandatory Junio C Hamano
2025-10-07 9:59 ` Patrick Steinhardt
2025-10-02 23:35 ` Ezekiel Newren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqldmmqa1z.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=ben.knoble@gmail.com \
--cc=cb@256bit.org \
--cc=collin.funk1@gmail.com \
--cc=contact@hacktivis.me \
--cc=eschwartz@gentoo.org \
--cc=ezekielnewren@gmail.com \
--cc=git@vger.kernel.org \
--cc=me@ttaylorr.com \
--cc=newren@gmail.com \
--cc=phillip.wood123@gmail.com \
--cc=pierre-emmanuel.patry@embecosm.com \
--cc=ps@pks.im \
--cc=sam@gentoo.org \
--cc=sandals@crustytoothpaste.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).