Open
Description
Based on the content of the uv-git
crate, which doesn't use git2
at all, but instead shells out to git
.
Features
- init repo (without being tripped up by templates)
- deal with refspecs and references
- open any repository
- rev-parse
- fetch with credential handling, HTTPS/SSH (maybe local?) as in
git fetch --tags --force --update-head-ok
- However, it's not as compatible as Git, see [Azure Devops Repos] clone failure as packs use REF_DELTA objects: fix with git-style delta resolution #1025
- checkout a tree
- clone into an empty directory, with checkout
-
reset --hard
- with submodule handling as in
submodule update --recursive --init
- with submodule handling as in
Wanted features
Those are not a requirement to get started with the migration to gitoxide
though.
-
--filter=tree=0
support to not fetch blobs/fetch them later on demand (see this PR)- The above implies 'prefetch' support, so all needed objects can be fetched in bulk, on the fly.