Re: Git v3.0 timeline, was Re: What's cooking in git.git (Sep 2026, #08)
- From
Ramsay Jones <ramsay@ramsayjones.plus.com>
- Date
- Sep 24, 2026, 18:08 UTC
- Message-ID
- <d1ad4da9-e5b6-41c8-8049-0d8ac012a1e2@ramsayjones.plus.com>
- In-Reply-To
- <xmqqpky346fr.fsf@gitster.g>
On 24/09/2026 5:30 am, Junio C Hamano wrote:
> Junio C Hamano <gitster@pobox.com> writes: >
[snip]
Show 34 quoted lines
> As I wrote, after the current cycle ends at the end of this month, a > 10-to-12-week cycle including the end-of-year slowness would mean the > next cycle, 2.98, will end at the end of this year. Extrapolating > from there, 2.99 will be March 2027. > > The consensus in the room was that we want to use 2.99 as a signal > that something big is coming, so there needs to be some lead time > between 2.99 and 3.0 for "advertisement". This lead time between > 2.99 and 3.0 does not have to be the usual 8-to-12-week full release > cycle. > > I do not think there was a firm agreement on the date for 2.99.1 and > 3.0. Potential factors mentioned in the room included that we may > want to match the LTS release schedule of major distributions. My > preference would be to give a month after 2.99 to apply only > accumulated bugfixes and nothing else, and tag it as 2.99.1, which > means 2.99.1 would be April 2027. > > The contents of 3.0 should be identical to 2.99.1 except that > breaking changes are enabled in 3.0 while they are disabled in > 2.99.1. Volunteers can run the 2.99.x series indefinitely to help > LTS distributions. > > At the release engineering level, I am very tempted to keep the > WITH_BREAKING_CHANGES Makefile knob in the 3.0 release in order to > keep the differences between 2.99.1 and 3.0 to an absolute minimum, > and then remove the "dead code" that is used when > WITH_BREAKING_CHANGES is not enabled from the 3.x series at our > leisure. > > So the above is what I have in mind, shaped mostly around the > consensus at the Contributors' Summit (or at least how I understand > what the consensus was), with my preference filling in what was not > firmly decided in the room.
Back in January, on the cygwin-announce list[1], an experimental rust package was announced. This package was marked experimental and unmaintained in the cygwin setup program. I was hoping for a more 'official' package to emerge before trying it out on git. (the package was version 1.91.0 of rust built from a source tarball). However, there has been no sign of a formal supported (test or production) package since then (there is still time, of course). ;)
Anyway, this thread prompted me to try the experimental package:
$ vim config.mak # comment out NO_RUST $ cat config.mak DEFAULT_TEST_TARGET=prove GIT_PROVE_OPTS=--timer -j8 #NO_RUST=1 NO_DC_SHA1_SUBMODULE=NoThanks DEVELOPER=1 $
Having fetched today, the 'master' branch @0f8e75abeb is v2.56.0-rc2 with the branch 'en/no-amend-during-conflicts' reverted. $ make >out1 2>&1 $ ./git version git version 2.56.0.rc2.1.g0f8e75abeb $ git describe v2.56.0-rc2-1-g0f8e75abeb $ diff out out1 1c1 < GIT_VERSION=2.56.0.rc2 --- > GIT_VERSION=2.56.0.rc2.1.g0f8e75abeb 277d276 < CC varint.o 308a308 > CARGO target/release/libgitcore.a $
The 'out' file is yesterdays build of v2.56.0-rc2. (Similarly, the 'sp-out', 'sc' and 'hcout' files record output for v2.56.0-rc2).
$ make sparse >sp-out1 2>&1 $ diff sp-out sp-out1 268d267 < SP varint.c $
$ ./static-check.pl >sc1 $ diff sc sc1 $
$ make -k hdr-check >hcout1 2>&1 $ diff hcout hcout1 $
$ . ../git-test-setup
$ env | grep TEST
TEST_NO_MALLOC_CHECK=yes
GIT_TEST_CHAIN_LINT=0
$ make test >test-out-2-56-rc2-1 2>&1
$ tail -n 13 test-out-2-56-rc2-1
Test Summary Report
-------------------
unit-tests/bin/unit-tests.exe (Wstat: 256 (exited 1) Tests: 261 Failed: 1)
Failed test: 254
Non-zero exit status: 1
t9904-url-parse.sh (Wstat: 256 (exited 1) Tests: 53 Failed: 4)
Failed tests: 39, 42-43, 47
Non-zero exit status: 1
Files=1060, Tests=33592, 3519 wallclock secs (42.61 usr 141.30 sys + 9056.74 cusr 12680.95 csys = 21921.60 CPU)
Result: FAIL
make[1]: *** [Makefile:82: prove] Error 1
make[1]: Leaving directory '/home/ramsay/git/t'
make: *** [Makefile:3424: test] Error 2
$Despite the failure, this shows exactly the same failures as v2.56.0-rc2.
So, this doesn't stress the rust compiler very much, but I guess it is slightly encouraging! I suppose Brian has plenty of rust code in a branch somewhere that could be tested ...
Unfortunately, I am just about (in a few hours) to go into hospital for a surgical procedure, so I will be AWOL for some time yet, ...
ATB, Ramsay Jones
[1] https://sourceware.org/pipermail/cygwin-announce/2026-January/012823.html