-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Support SHA256 Git repositories #14942
Copy link
Copy link
Open
Labels
A-gitArea: anything dealing with gitArea: anything dealing with gitC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-blocked-externalStatus: ❌ blocked on something out of the direct control of the Cargo project, e.g., upstream fixStatus: ❌ blocked on something out of the direct control of the Cargo project, e.g., upstream fix
Metadata
Metadata
Assignees
Labels
A-gitArea: anything dealing with gitArea: anything dealing with gitC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-blocked-externalStatus: ❌ blocked on something out of the direct control of the Cargo project, e.g., upstream fixStatus: ❌ blocked on something out of the direct control of the Cargo project, e.g., upstream fix
Type
Fields
Give feedbackNo fields configured for issues without a type.
View all comments
SHA256 integration status
Cargo supports three different Git backends. Here is the status for each:
libgit2
Status: Not yet integrated into Cargo — Waiting for libgit2 to cut a new v1.9 release so git2-rs can have an experimental integration to help test libgit2 sha256 support before libgit2 v2 is out.
Integration PR: #16939
git_remote_oid_typelibgit2/libgit2#7185gitoxide
Status: Not yet integrated into Cargo — Working in progress.
Git CLI
Status: Not yet integrated into Cargo — Already supported in Git v2. Planned to become default in v3.
To support Git CLI standalone without libgit2 support, we'll need to overhaul of our git database infra, and expose some more configs like `net.git-fetch-with-cli to switch backend. This is not desired as Git CLI is an external dependency. However, if we can't make the feature happen sooner in libgit2/gitoxide we might go down this path.
See #14942 (comment) for more about the current architecture.
Problem
cargo install --git https://codeberg.org/Joshix/rpsfailsSteps
Possible Solution(s)
Support the sha256 object format
Notes
No response
Version