git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Junio C HamanoNext: Johannes Schindelin
Message 10 of 19 in “What's cooking in git.git (Sep 2026, #08)”
  1. Junio C HamanoSep 22, 2026
  2. kh/format-patch-range-diff-notesKristoffer Haugsbakk, Sep 22, 2026
  3. Git v3.0 timeline, was Re: What's cooking in git.git (Sep 2026, #08)Johannes Schindelin, Sep 22, 2026
  4. Junio C HamanoSep 22, 2026
  5. Johannes SchindelinSep 22, 2026
  6. Junio C HamanoSep 24, 2026
  7. Junio C HamanoSep 24, 2026
  8. Johannes SchindelinSep 24, 2026
  9. Junio C HamanoSep 24, 2026
  10. Ramsay JonesSep 24, 2026
  11. My summary of the Git Contributors' Summit 2026, was Re: Git v3.0 timeline, was Re: What's cooking in git.git (Sep 2026, #08)Johannes Schindelin, Sep 22, 2026
  12. Daniele SassoliSep 23, 2026
  13. Johannes SchindelinSep 24, 2026
  14. Luca MilanesioSep 25, 2026
  15. D. Ben KnobleSep 23, 2026
  16. Toon ClaesSep 23, 2026
  17. Johannes SchindelinSep 24, 2026
  18. Toon ClaesSep 23, 2026
  19. Junio C HamanoSep 23, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.