Expand description
strop-git: the working surface (0001 pillar 3.1). libgit2 for the hot paths — no process spawn per keystroke. HEAD vs the live buffer (not the disk file), so gutter signs track unsaved edits.
Modules§
- memory
- 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§
- Diff
Line - One line of a hunk: content without prefix, plus the 1-based line
number on each side that has one (absent side:
None, never0). - File
Diff - One file’s diff at a commit (vs its parent): the delta view’s data.
- Hunk
- One diff hunk between two versions of a file, in 1-based lines.
- Repo
- Source
Location - A revisioned source location (0014 wave 4): permalinks, jumps into history, and blame’s parent-hop all speak this — no more “permalink from a historical view links HEAD’s file”.
Enums§
- GitRevision
- Hunk
Kind - Line
Origin - Where a diff line comes from — addition/deletion carry which side’s
line number applies (0010 §1: typed origins, never
+-sniffing). - Sign
- One changed line, for gutter signs. Hunk headers include context lines, so signs track the +/- lines, not the header range.