Expand description
GitOps — the typed API gunnar calls, and the store that implements it.
Base znippy never sees this trait.
GitOps — ours, typed, and base znippy never sees it.
§13.2: ArchiveTypePlugin is base znippy’s contract and
crate::NativeGitPlugin implements it — base stores, the plugin annotates,
exactly as maven, python, rust-toolchain and media already work. GitOps is
the other trait: the one gunnar calls, with git’s own vocabulary in it.
§13.3: ArchiveTypePlugin::run_command(cmd, args) is CLI-only string
dispatch and delegates here. A server’s hot path does not go through
stringly-typed dispatch, so nothing below takes a &str command or an
args: &[String].
gunnar ──typed──► GitOps (this file, twelve methods)
│
┌────────────────┼──────────────────┬─────────────┐
▼ ▼ ▼ ▼
ArchiveWrite ObjectIndex RefLog Gc
SafeWriter ObjectReadStack push log NewGeneration
(blob fsync, (stree → Arrow (Arrow IPC (link, compact,
journal row) → redb tail) frame = tx) verify, rename)Every arm under that diagram already existed and was already measured. This file adds no storage, no index and no durability mechanism of its own — if a method here looks like it is inventing one, that is a bug.
§The one thing that is NOT here
run_command still lives on the plugin in [crate::lib], and it now
delegates. Nothing git-shaped went into base znippy for any of this.
Structs§
- GitStore
- One repository’s git store.
- RefRow
- One row of the ref namespace: name, oid, peeled.
- Stored
- What
gethands back: the stored bytes and enough type information that they cannot be mistaken for something else. - TxId
- The receipt for one durable transaction.
Enums§
- Lookup
Path - Which path a lookup of
noids takes. - Selected
Store - A
GitStorewhose index arm was chosen at run time.
Constants§
- BATCH_
SATURATES_ AT - Oids at which the batch path stops getting faster. Reported, not enforced: splitting a bigger batch would cost a pass and buy nothing.
Traits§
- GitOps
- The eleven. Typed, backend-neutral, and the only entry point a git server needs into storage.
Functions§
- lookup_
path - The dispatch, in one place.
- open_
from_ env - The env-driven front door: read the three variables once, here, and build the store they name.
- open_
selected - Open a store with all three arms chosen at run time.