Summary
RFC: None
Documentation: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#gitoxide
Issues:
Z-gitoxide
Nightly: gitoxide integration
Original issue:
With the ‘gitoxide’ unstable feature, all of the specified git operations will be performed by the gitoxide crate instead of git2. This allows git2 to be replaced in full.
Steps
Unstable feature sub-categories:
Further tasks
Unresolved Issues
Future Extensions
Some features not in libgit2 are good candidates for future extensions
About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Implementation history
Summary
RFC: NoneNightly: gitoxide integration
Documentation: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#gitoxide
Issues: Z-gitoxide
Original issue:
file://Cargo-update: exceedingly slow progress on update when local registry/index is used and git-fetch-with-cli is false #9167.DS_Storecargo-package: list of dirty files contains ignored files #8407With the ‘gitoxide’ unstable feature, all of the specified git operations will be performed by the
gitoxidecrate instead ofgit2. This allowsgit2to be replaced in full.Steps
Unstable feature sub-categories:
fetch: all fetches are done with gitxide (gitoxide integration: fetch #11448)shallow_index: the crates index will be a shallow clone (support for shallow clones and fetches withgitoxide#11840)shallow_deps: git dependencies will be a shallow clone (support for shallow clones and fetches withgitoxide#11840)checkout: plain checkouts with gitoxide (including submodule handling)package: status checks, untracked files, excluded filesFurther tasks
gix_hash::Prefix.cargoactually uses.revbut nothing found, cargo with shallow fetch should fetch full history as a fallback.Unresolved Issues
gitoxidetracking issue to be able to replacegit2in fullfile://protocol without relying on thegitbinaryssh://protocol without relying on thesshbinarygit2or if unfeasible, assure users have a migration path. How to deal with this correctly is still to be determined.tempfileis pinned to~3.3.0temporarily (see gix-tempfile@4.1.1)gitoxideitselfFuture Extensions
Some features not in libgit2 are good candidates for future extensions
About tracking issues
Tracking issues are used to record the overall progress of implementation.
They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions.
A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature.
Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Implementation history
gitoxideruns them #11830gixto v0.41 to fix flaky auth tests. #11831gitoxide#11840