From: Junio C Hamano <gitster@pobox.com>
To: git@vger.kernel.org
Cc: Patrick Steinhardt <ps@pks.im>, Derrick Stolee <stolee@gmail.com>
Subject: [PATCH] BreakingChanges: early adopter option
Date: Thu, 19 Sep 2024 12:33:47 -0700 [thread overview]
Message-ID: <xmqq7cb77810.fsf@gitster.g> (raw)
Discussing the desire to make breaking changes, declaring that
breaking changes are made at a certain version boundary, and
recording these decisions in this document, are necessary but not
sufficient. We need to make sure that we can implement, test, and
deploy such impactful changes.
Formalize the mechanism based on the `feature.*` configuration
variable to allow early adopters to opt into the breaking change in
a version of Git before the planned version for the breaking change.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
* Before I forget. I'll find time to rewrite the "we no longer
honor core.preferSymlinkRefs" topic to follow this new guideline
when we see a rough concensus that both the procedure outlined
here and the idea to remove core.preferSymlinkRefs are good.
Documentation/BreakingChanges.txt | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git i/Documentation/BreakingChanges.txt w/Documentation/BreakingChanges.txt
index 2b64665694..9f1e9a0fb8 100644
--- i/Documentation/BreakingChanges.txt
+++ w/Documentation/BreakingChanges.txt
@@ -59,10 +59,31 @@ over time. If circumstances change, an earlier decision to deprecate or change
something may need to be revisited from time to time. So do not take items on
this list to mean "it is settled, do not waste our time bringing it up again".
+== Procedure
+
+Discussing the desire to make breaking changes, declaring that breaking
+changes are made at a certain version boundary, and recording these
+decisions in this document, are necessary but not sufficient.
+Because such changes are expected to be numerous, and the design and
+implementation of them are expected to span over time, they have to
+be deployable trivially at such a version boundary.
+
+The breaking changes MUST be guarded with the configuration
+variable, `feature.git<version>` to help this process. Each
+individual breaking change must be implemented in such a way that
+for a user who has this configuration variable set to true, it goes
+in effect even before Git <version>. Note that setting the
+configuration to `false` MUST have no effect, either before or AFTER
+Git <version>. In other words, this is purely an option to recruit
+early adopters and not a mechanism to keep the old behaviour after
+the announced version boundary for breaking changes.
+
+
== Git 3.0
The following subsections document upcoming breaking changes for Git 3.0. There
-is no planned release date for this breaking version yet.
+is no planned release date for this breaking version yet. The early
+adopter configuration used for changes for this release is `feature.git3`.
Proposed changes and removals only include items which are "ready" to be done.
In other words, this is not supposed to be a wishlist of features that should
next reply other threads:[~2024-09-19 19:33 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-19 19:33 Junio C Hamano [this message]
2024-09-20 21:33 ` [PATCH] BreakingChanges: early adopter option Junio C Hamano
2024-09-22 17:51 ` Junio C Hamano
2024-09-26 11:57 ` Patrick Steinhardt
2024-09-26 14:16 ` Phillip Wood
2024-09-26 16:25 ` Junio C Hamano
2024-09-26 16:26 ` Junio C Hamano
2024-09-26 15:57 ` Junio C Hamano
2024-10-11 21:49 ` [PATCH v2] " Junio C Hamano
2024-10-16 7:22 ` Patrick Steinhardt
2024-10-16 22:07 ` Taylor Blau
2025-02-28 17:28 ` Re* " Junio C Hamano
2025-03-03 10:30 ` Patrick Steinhardt
2025-03-03 16:32 ` Junio C Hamano
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=xmqq7cb77810.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=ps@pks.im \
--cc=stolee@gmail.com \
/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).