Exgit.Transport.File (exgit v0.1.0)

Copy Markdown View Source

Exgit.Transport implementation that reads from and writes to a local on-disk git repository (bare or non-bare) without going over the network.

Used by tests, by local roundtrip workflows, and as a reference implementation of the transport protocol. fetch/3 walks the disk object store to collect reachable objects and assembles a pack; push/4 unpacks the received pack into disk and applies ref updates with CAS semantics.

Summary

Types

t()

@type t() :: %Exgit.Transport.File{path: Path.t()}

Functions

capabilities(file)

fetch(t, wants, opts \\ [])

ls_refs(t, opts \\ [])

new(path)

@spec new(Path.t()) :: t()

push(t, updates, pack_bytes, opts \\ [])