Expand description
Utilities for handling git repositories, mainly around authentication/cloning.
StructsΒ§
- Checkout
Guard π - See
GitCheckout::resetfor rationale on this type. - GitCheckout
- A local checkout of a particular revision from a
GitDatabase. - GitDatabase
- A local clone of a remote repositoryβs database. Multiple
GitCheckouts can be cloned from a singleGitDatabase. - GitRemote
- A remote repository. It gets cloned into a local
GitDatabase. - GitShortID
- A short abbreviated OID.
EnumsΒ§
- Fast
Path πRev - The result of GitHub fast path check. See
github_fast_pathfor more.
ConstantsΒ§
- CHECKOUT_
READY_ πLOCK - A file indicates that if present,
git resethas been done and a repo checkout is ready to go. SeeGitCheckout::resetfor why we need this.
FunctionsΒ§
- absolute_
submodule_ πurl - Constructs an absolute URL for a child submodule URL with its parent base URL.
- clean_
repo_ πtemp_ files - Removes temporary files left from previous activity.
- fetch
- Attempts to fetch the given git
referencefor a Git repository. - fetch_
with_ πcli - Attempts to use
gitCLI installed on the system to fetch a repository, when the config valuenet.git-fetch-with-cliis set. - fetch_
with_ πgitoxide - fetch_
with_ πlibgit2 - github_
fast_ πpath - Attempts GitHubβs special fast path for testing if weβve already got an up-to-date copy of the repository.
- has_
shallow_ πlock_ file gitoxideuses shallow locks to assure consistency when fetching to and to avoid races, and to write files atomically. Cargo has its own lock files and doesnβt need that mechanism for race protection, so a stray lock means a signal interrupted a previous shallow fetch and doesnβt mean a race is happening.- init π
- Initializes a Git repository at
path. - is_
github π - Whether a
urlis one from GitHub. - is_
short_ πhash_ of - Whether
revis a shorter hash ofoid. - looks_
like_ πcommit_ hash - Whether a
revlooks like a commit hash (ASCII hex digits). - maybe_
gc_ πrepo - Attempts to
git gca repository. - reinitialize π
- Reinitializes a given Git repository. This is useful when a Git repository seems corrupted and we want to start over.
- reset π
git reset --hardto the givenobjfor therepo.- resolve_
ref - Resolves
GitReferenceto an object ID with objects therepocurrently has. - rev_
to_ πoid - Turns a full commit hash revision into an oid.
- serialize_
str π - with_
authentication π - Prepare the authentication callbacks for cloning a git repository.
- with_
fetch_ options - Prepares the callbacks for fetching a git repository.