uv/crates/pypi-types/src
Ibraheem Ahmed 261aa2c70a
Port all git functionality to use git CLI (#3833)
## Summary

We currently rely on libgit2 for most git-related functionality.
However, libgit2 has long-standing performance issues, as well as lags
significantly behind git in terms of new features. For these reasons we
now use the git CLI by default for fetching repositories
(https://github.com/astral-sh/uv/pull/1781). This PR completely drops
libgit2 in favor of the git CLI for all git-related functionality, which
should allow us to use features such as partial clones and sparse
checkouts in the future for performance.

There is also a lot of technical debt in the current git code as it's
mostly taken from Cargo. Switching to the git CLI *vastly* simplifies
the `uv-git` codebase.

Eventually we might want to look into switching to
[`gitoxide`](https://github.com/Byron/gitoxide), but it's currently too
immature for our use case.
2024-05-30 15:28:48 -04:00
..
base_url.rs Remove some unused `pub` functions (#3872) 2024-05-28 15:58:13 +00:00
direct_url.rs Add basic `tool.uv.sources` support (#3263) 2024-05-03 21:10:50 +00:00
lenient_requirement.rs Use `VerbatimParsedUrl` in `pep508_rs` (#3758) 2024-05-23 19:52:47 +00:00
lib.rs Use `VerbatimParsedUrl` in `pep508_rs` (#3758) 2024-05-23 19:52:47 +00:00
metadata.rs Use `VerbatimParsedUrl` in `pep508_rs` (#3758) 2024-05-23 19:52:47 +00:00
parsed_url.rs Port all git functionality to use git CLI (#3833) 2024-05-30 15:28:48 -04:00
scheme.rs Query interpreter to determine correct `virtualenv` paths (#2188) 2024-03-05 16:13:24 -05:00
simple_json.rs Rename `DistInfoMetadata` to `CoreMetadata` (#3699) 2024-05-21 18:26:59 +00:00