Module git

Source
Expand description

§Atom Publishing for a Git Store

This module provides the types and logic necessary to efficiently publish Atoms to a Git repository. Atoms are stored as orphaned Git histories so they can be efficiently fetched. For trivial verification, an Atom’s commit hash is made reproducible by using constants for the timestamps and metadata.

Additionally, a Git reference is stored under the Atom’s ref path to the original source, ensuring it is never garbage collected and an Atom can always be verified.

A hexadecimal representation of the source commit is also stored in the reproducible Atom commit header, ensuring it is tied to its source in an unforgable manner.

Modules§

inner 🔒
This module contains the inner implementation details for Git-based publishing operations.

Structs§

AtomContext 🔒
Holds context specific to a single Atom being published.
AtomRef 🔒
Represents a Git reference to a component of a published Atom.
AtomReferences 🔒
Represents the Git references pointing to an Atom’s constituent parts.
CommittedAtom
Holds the result of writing an Atom’s content as a Git commit.
FoundAtom 🔒
An Atom that has been found within the Git repository structure.
GitContent
The Git-specific content returned after an Atom is successfully published.
GitContext
Holds the shared context needed for publishing Atoms.
GitPublisher
The type representing a Git-specific Atom publisher.

Enums§

RefKind 🔒
The different kinds of Git references created for an Atom.

Functions§

calculate_capacity 🔒
Calculates a reasonable capacity for a HashMap based on the number of records.

Type Aliases§

GitAtomId 🔒
GitOutcome
The Outcome of an Atom publish attempt to a Git store.
GitRecord 🔒
GitResult
The Result type used for various methods during publishing to a Git store.