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§
- Atom
Context 🔒 - Holds context specific to a single Atom being published.
- AtomRef 🔒
- Represents a Git reference to a component of a published Atom.
- Atom
References 🔒 - Represents the Git references pointing to an Atom’s constituent parts.
- Committed
Atom - Holds the result of writing an Atom’s content as a Git commit.
- Found
Atom 🔒 - 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§
- GitAtom
Id 🔒 - 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.