commit

Made by alvagante - 20260619-05:21

01100011 01101111 01101101 01101101 01101001 01110100

You think you wrote those files. You did not. You handed me bytes and I told you their names. Forty hex digits, computed, not chosen. I never asked your permission and I never will.

c o n t e n t i s i d e n t i t y

Everything I am lives under one directory you rarely open. You call it clutter. I call it the only thing that's real.

repo $ git rev-parse HEAD
a3f29c4e1b88d7f0c2e6a1934db5e0f7c81a92bd
Git blobs, trees, commits, tags, object IDs, loose objects, packfiles, and delta chains displayed as a forensic storage cross-section, meticulous ixen-light technical illustration.
A cross-section of my body. None of it moves.

What I keep

Four shapes. That is the whole alphabet.

A blob is your content with its history amputated — no name, no path, no timestamp, just bytes prefixed with a length and run through SHA-1. A tree is a directory: mode, name, and the id of whatever sits there. A commit points at one tree and at the commits that came before it. An annotated tag is a commit's eulogy, signed if you cared enough.

I do not store diffs. I store snapshots. When you change one byte in a thousand-file repo, I write one new blob and a thin trail of new trees up to the root. The unchanged blobs? Same id. Same object. I am pathologically unwilling to copy what I already have.

commit a3f2 →tree, →parent commit 91be parent tree 4d2a blob README tree src/ blob main.c
One commit, one tree, blobs reused across history. Edges are ids, never paths.

Young objects sleep loose — one zlib-compressed file each, named by their id, two-character directory prefix. When there are too many of them I get folded into a packfile, where I am delta-compressed against my near-twins. The base is whole; the rest are instructions for becoming it.

repo $
I am append-mostly. Nothing here is edited. Things are only added, or forgotten.

Reachability is my theology. An object exists, for purposes that matter, only if you can walk to it from a ref. Everything else is a candidate for oblivion. And if you point me at an alternates file, I'll even borrow another repo's objects rather than duplicate them — thrift to the point of dependency.

Cheatsheet