Modules
Pure-Elixir git client — clone, fetch, push, plus a path-oriented filesystem API for reading blobs by path.
OTP application callback for Exgit.
Per-line authorship attribution for a file at a ref.
Cloudflare Artifacts REST API client.
Cloudflare Artifacts repository.
Cloudflare Artifacts repo-scoped token.
Parser and emitter for git-style INI configuration files.
Helpers for constructing transport auth values, plus a small host-scoped credential mechanism.
Compare two git trees and return a list of changes.
Line-level diff between two sequences of lines via Myers diff.
Canonical error shape for exgit.
Path-oriented read/write access to a git repository — the interface an agent actually wants.
Partial-clone filter specs (git protocol v2 filter capability).
Behaviour for a git object-id hash function.
SHA-1 implementation of Exgit.Hash. Currently the only hash
function used — git's default. SHA-256 repos are not yet
supported.
Parser for git's on-disk index format (.git/index).
Git LFS (Large File Storage) pointer detection.
Umbrella type + dispatch for git's four object kinds: Blob,
Tree, Commit, Tag. Each has its own struct in
Exgit.Object.*; this module is the common entry point for
decode/encode/sha/type across all of them.
Git blob object — a raw byte buffer.
A git commit object.
Git annotated tag object.
A git tree object.
Storage protocol for git objects, keyed by binary SHA-1.
On-disk git object store — reads and writes objects from
<root>/objects/ in git's standard layout: loose objects under
aa/bbbb... and packed objects via pack-*.{pack,idx}.
An object store that fetches missing objects on demand from a transport, caching them locally.
GenServer wrapper around Exgit.ObjectStore.Promisor that
serializes cache access across processes.
Apply git's pack delta format against a base object.
Pack-index (.idx) writer and reader for git pack-index v2.
Parser for git packfiles (v2 / v3).
Forward-only, bounded-memory streaming pack parser.
Build a pack (build/1) and optionally its .idx index
(build_with_index/1) from a list of objects.
Git's pkt-line framing.
Incremental, stateful pkt-line decoder for streaming HTTP bodies.
Lightweight profiler that aggregates :telemetry span events
into a structured trace.
Validation of git ref names per git check-ref-format rules.
Filesystem-backed ref store.
In-memory implementation of the Exgit.RefStore protocol.
Opt-in process-based handle around a Repository.t() value.
Process-wide registry of shared RepoHandles keyed by URL.
A git repository value.
Telemetry event names and conventions for exgit.
Protocol for git transports — HTTP, file, and user-defined (e.g. SSH
or in-memory). Any struct that implements this protocol can be used
interchangeably with Exgit.clone/2, Exgit.fetch/3, and
Exgit.push/3.
Exgit.Transport implementation that reads from and writes to a
local on-disk git repository (bare or non-bare) without going
over the network.
Exgit.Transport implementation for git smart-HTTP v2.
Commit graph traversal — ancestors/3 and merge_base/2.
An agent-loop working tree on top of a git ref.
VFS.Mountable defimpl for Exgit.Workspace.