diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-02-28 09:28:21 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-03-03 10:07:03 -0800 |
| commit | c268e3285d4eafeec048d98672faa43f21857990 (patch) | |
| tree | aebd289835c99d6f2790ea35b7159c5c035e2e5c | |
| parent | BreakingChanges: early adopter option (diff) | |
| download | git-c268e3285d4eafeec048d98672faa43f21857990.tar.gz git-c268e3285d4eafeec048d98672faa43f21857990.zip | |
BreakingChanges: clarify the procedure
The point behind a compile-time switch is to ensure that we have a
mechanism to hide myriad of backward incompatible changes that may
be prepared and accumulated over time, yet make them available for
testing any time during the development toward the big version
boundary. Add a few words to stress that point.
Since the document was first written, we have added the CI job that
the document anticipated us to have. Rephrase to state the current
status.
The discussion in [*1*] made us abandon the "feature.git3" based
runtime switching of behaviour and instead adopt the compile-time
switching mechanism, but a stray sentence about runtime switching
still remained in the final text by mistake. Remove it.
[Reference]
*1* https://lore.kernel.org/git/xmqqldzel6ug.fsf@gitster.g/
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Acked-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | Documentation/BreakingChanges.txt | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/Documentation/BreakingChanges.txt b/Documentation/BreakingChanges.txt index eeb26c9155..3cf9dfb35f 100644 --- a/Documentation/BreakingChanges.txt +++ b/Documentation/BreakingChanges.txt @@ -66,22 +66,21 @@ 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. +be deployable trivially at such a version boundary, prepared over long +time. The breaking changes MUST be guarded with the a compile-time switch, WITH_BREAKING_CHANGES, to help this process. When built with it, the resulting Git binary together with its documentation would behave as if these breaking changes slated for the next big version -boundary are already in effect. We may also want to have a CI job -or two to exercise the work-in-progress version of Git with these -breaking changes. +boundary are already in effect. We also have a CI job to exercise +the work-in-progress version of Git with these 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. The early -adopter configuration used for changes for this release is `feature.git3`. +is no planned release date for this breaking version yet. 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 |
