Module branchless::git[][src]

Expand description

Tools for interfacing with the Git repository.

Structs

Represents a Git branch.

Options for Repo::cherry_pick_fast.

Represents a commit object in the Git object database.

Wrapper around the config values stored on disk for Git.

A wrapper around a possible value that can be set for a config key.

Interface to access the directed acyclic graph (DAG) representing Git’s commit graph. Based on the Eden SCM DAG.

A diff between two trees/commits.

Path to the git executable on disk to be executed.

The parsed version of Git.

Represents the ID of a Git object.

A checksum of the diff induced by a given commit, used for duplicate commit detection.

Represents a reference to an object.

Wrapper around git2::Repository.

A snapshot of all the positions of references we care about in the repository.

A snapshot of information about a certain reference. Updates to the reference after this value is obtained are not reflected.

A tree object. Contains a mapping from name to OID.

Enums

Determine what kind of branch a reference is, given its name. The returned suffix value is converted to a String to be rendered to the screen, so it may have lost some information if the reference name had unusual characters.

An error raised when attempting the Repo::cherry_pick_fast operation.

Represents an OID which may be zero or non-zero. This exists because Git often represents the absence of an object using the zero OID. We want to statically check for those cases by using a more descriptive type.

The target of a reference.

The result of attempting to resolve commits.

Traits

Read-only interface to Git’s configuration.

Write-only interface to Git’s configuration.

Functions

Eagerly convert a CommitSet into a Vec<NonZeroOid> by iterating over it.

Parse strings which refer to commits, such as:

Sort the given set of commits topologically. In the case of two commits being unorderable, sort them using a deterministic tie-breaking function. Commits which have been garbage collected and are no longer available in the repository are omitted.

Type Definitions

A compact set of commits, backed by the Eden DAG.

A vertex referring to a single commit in the Eden DAG.