Skip to main content

Module memory

Module memory 

Source
Expand description

Git memory (M3, 0001 pillar 3.2/3.3): log graph, blame, permalinks. Reads via shell git (matches user config; not hot-path), permalinks via libgit2 config (no spawn).

Structs§

BlameCard
A blame card for one line (0001 pillar 3.3).
BlameLine
One line of a whole-file blame (0001 pillar 3.3, the toggleable column). age is rendered at parse time; ts keeps “recent” honest for the caller’s coloring.
ChangedFile
Files changed by a commit: path | +N -M rows for the dive view.
LogRow
One log line from git log --graph, with the commit hash extracted.
Remote

Enums§

Host

Functions§

blame_file
Blame every line of a file (--line-porcelain; the gutter’s data, 0011 §3). Shells out on a job thread — never the input path.
blame_line
Blame one line of a file (1-based). Shells out; porcelain format.
log_graph
git log --graph for the browser. Shells out — the log is not a per-keystroke path (0001 §3). Caller decides threading.
normalize_remote
Normalize a remote URL (SSH or HTTPS) to a web base. Priority upstream > origin > rest is the caller’s job (0001 pillar 3.3).
permalink
Build the immutable permalink for a file at 1-based lines. Branch is always resolved to a commit SHA (0001 pillar 3.3).
pick_remote
Pick the permalink remote: upstream > origin > first remaining.
show_stat