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

Re: When should we release Git 3.0?

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Oct 2, 2025, 22:33 UTC
Message-ID
<aN7917RSHBz3IV5o@fruit.crustytoothpaste.net>
In-Reply-To
<E03F997F-1738-4CF6-B7D5-206183FA5BD1@gmail.com>
On 2025-10-01 at 07:13:12, Luca Milanesio wrote:
Show 7 quoted lines
> > I personally do not want the interoperability work to be a blocker.  I
> > haven't really heard other commitments of contributors who want to work
> > on it and I don't really want to have to run full tilt trying to get it
> > out.  However, some other people may feel differently, in which I case I
> > encourage their participation in the project.
> 
> Sure, happy to participate.

Fantastic. If you're interested, you can get the current state of the project from the `sha256-interop` branch at https://github.com/bk2204/git.git. This is frequently rebased, but mostly to squash down patches or add new features. It is based on v7 of Patrick Steinhardt's Rust series and will effectively require `WITH_RUST=1` to function.

One really valuable thing that you could work on if you like is a tool to do in-place migration of repositories to add a compatibility algorithm, so SHA-1 repositories would have SHA-256 compatibility added on top. That might look like this:

* Recursively convert submodules, if any.
* Build a loose object map for any submodule commits that exist in the
  history.
* Repack all the loose objects into a pack (including using a cruft pack
  if necessary).
* Regenerate the indexes for the pack using pack index v3.

This might be a good subcommand for something like a `git hash` command, maybe `git hash convert`. We'd probably want to anticipate maybe in the future having a mode that converts the main algorithm, too, although that need not be implemented now.

You should be able to test this end-to-end with Git's repository, since it has submodules.

-- 
brian m. carlson (they/them)
Toronto, Ontario, CA
Previous: brian m. carlsonNext: Taylor Blau
Message 26 of 33 in “When should we release Git 3.0?”
  1. brian m. carlsonSep 30, 2025
  2. Luca MilanesioOct 1, 2025
  3. Taylor BlauOct 1, 2025
  4. rsbecker@nexbridge.comOct 1, 2025
  5. Taylor BlauOct 8, 2025
  6. rsbecker@nexbridge.comOct 8, 2025
  7. Patrick SteinhardtOct 2, 2025
  8. Junio C HamanoOct 2, 2025
  9. Michal SuchánekOct 2, 2025
  10. Patrick SteinhardtOct 7, 2025
  11. Michal SuchánekOct 7, 2025
  12. Patrick SteinhardtOct 7, 2025
  13. Michal SuchánekOct 7, 2025
  14. Junio C HamanoOct 7, 2025
  15. Michal SuchánekOct 7, 2025
  16. SZEDER GáborOct 8, 2025
  17. Patrick SteinhardtOct 9, 2025
  18. Ben KnobleOct 2, 2025
  19. Patrick SteinhardtOct 7, 2025
  20. rsbecker@nexbridge.comOct 7, 2025
  21. Taylor BlauOct 8, 2025
  22. Patrick SteinhardtOct 9, 2025
  23. brian m. carlsonOct 16, 2025
  24. Taylor BlauOct 8, 2025
  25. brian m. carlsonOct 16, 2025
  26. brian m. carlsonOct 2, 2025
  27. Taylor BlauOct 1, 2025
  28. Michal SuchánekOct 1, 2025
  29. brian m. carlsonOct 1, 2025
  30. Michal SuchánekOct 2, 2025
  31. Michal SuchánekOct 2, 2025
  32. Junio C HamanoOct 1, 2025
  33. brian m. carlsonOct 1, 2025

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.