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

Re: [PATCH 1/4] libgitcore: add `sha1dc` as an optional feature

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Oct 3, 2026, 21:01 UTC
Message-ID
<asFtDF6NBc1ofnIl@fruit.crustytoothpaste.net>
In-Reply-To
<b1f30a6a05673c4094d59fda80c695472850d671.1790610691.git.gitgitgadget@gmail.com>
On 2026-09-28 at 15:51:28, Johannes Schindelin via GitGitGadget wrote:
> Note that the `sha1dc` crate still requires a significantly newer Rust
> version than Git's existing Rust support requires: 1.87 instead of
> 1.63 (https://crates.io/api/v1/crates/sha1dc/0.1.3).

I think this is going to be a problem. Yes, this is optional, but we declare compatibility with Rust 1.49.0 in Cargo.toml and we want everything to work there.

The goal was to have everything work with gccrs, but I think we're nearing Git 3.0 and gccrs has not made enough progress for it to be viable. This is not a surprise to me, but that was our goal.

The approach I've been advocating is that we support the version in Debian stable, plus the version in Debian oldstable for a year after the new stable comes out. That would get us to Rust 1.85.1, since Debian 13 (trixie) came out over a year ago, but not to Rust 1.87.

In any event, if we want to raise the version of Rust, we should probably discuss that in a separate series that adds or updates a policy document and bumps the version in Cargo.toml.

-- 
brian m. carlson (they/them)
Toronto, Ontario, CA
Previous: Johannes Schindelin via GitGitGadgetNext: Johannes Schindelin via GitGitGadget
Message 3 of 9 in “Add a compile-time option to use the new, very fast sha1dc Rust crate”
  1. 0/4 Add a compile-time option to use the new, very fast sha1dc Rust crateJohannes Schindelin via GitGitGadget, Sep 28, 2026
  2. 1/4 libgitcore: add `sha1dc` as an optional featureJohannes Schindelin via GitGitGadget, Sep 28, 2026
  3. brian m. carlsonOct 3, 2026
  4. 2/4 sha1dc: allow selecting the C backend without rebuildingJohannes Schindelin via GitGitGadget, Sep 28, 2026
  5. 3/4 pthread: provide `pthread_once()` shims for Windows and for NO_PTHREADSJohannes Schindelin via GitGitGadget, Sep 28, 2026
  6. 4/4 sha1dc: make `sha1dc_init()` thread-safeJohannes Schindelin via GitGitGadget, Sep 28, 2026
  7. Johannes SchindelinSep 28, 2026
  8. Junio C HamanoSep 29, 2026
  9. Johannes SchindelinOct 3, 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.