Skip to main content

Module memory

Module memory 

Source
Expand description

Git memory (M3, 0001 pillar 3.2/3.3): log graph, blame, changed-file stats. Reads run through GitExec — local git or bounded remote git over the shared execution boundary (0036 RW8) — with one argv builder and one structured parser per query, so both backends admit exactly the same machine formats. Permalinks and remote normalization live in permalink/ssh (0033 finding 1).

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.

Functions§

blame_file
Blame every line of a file (--line-porcelain; the gutter’s data, 0011 §3). One bounded run on a job thread — never the input path.
blame_line
Blame one line of a file (1-based). Porcelain format.
log_graph
git log --graph for the browser. One bounded run — the log is not a per-keystroke path (0001 §3). Caller decides threading.
log_graph_range
git log -L start,end:path — the history of a line range (0014 wave 4: selection archaeology). The graph flag is meaningless with -L; rows come straight from the patch headers.
show_stat
Files changed by a commit: path | +N -M rows for the dive view. Paths come from numstat’s NUL-delimited machine form, so native — never C-quoted, possibly non-UTF8 — names arrive as the worktree identities commit_file_diff expects.