Git
A read that rewrites the index
1 min Spice disables Git’s optional refresh locks in its internal child processes so observation does not replace the index a hook is checking.
The hook’s old value
2 min A reference-transaction guard must inspect the live pre-transaction tip when Git’s input contains only the caller’s declared old value.
The three Git roots
2 min A linked worktree has shared Git state, per-worktree Git state, and a visible worktree root. Hook installation crosses all three.
Email-Keyed Git Identity
2 min Selecting a preferred SSH key from Git’s effective email address, with organization-specific identity set by the remote URL.
The repo is the .jira.d
2 min jira-nice makes its own checkout the go-jira config directory with one symlink, and inherits a parent repo’s Jira defaults with one extra glob path.
The q Family
2 min About thirty git aliases built on a grammar: q queries, suffix letters add verbs, doubling escalates, a trailing q quiets, and a bang means force.
diff-so-fancy Without the Pipeline
2 min A git pager that runs diff-so-fancy inside less via LESSOPEN and degrades to plain less on machines that don’t have it.
Exit 99
2 min Dotfiles that fast-forward themselves at login and re-exec the running shell, coordinated by one exit code.
The FETCH_HEAD Throttle
2 min date -r FETCH_HEAD as the entire last-fetch database: no state file, a 12-hour window, and an epoch backdate to force retries.
The self:// Remote
2 min A made-up URL scheme as the dotfiles origin, resolved per machine by layered insteadOf rewrites—local mirror for fetches, GitHub for pushes.
Pushing Into a Live Home Directory
2 min receive.denyCurrentBranch = ignore plus a post-update hook let one machine push straight into another’s checked-out $HOME.