On 2025-10-01 at 07:13:12, Luca Milanesio wrote: > > 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