Repository navigation
v0.3.1 — repository polish
Polish pass on the repository/VCS layer (v0.3.0).
Fixed
- Correctness — detached HEAD: committing on a detached HEAD no longer silently clobbers
main. It advances HEAD itself and leaves all branches untouched;commit/checkoutnow report when you're detached. - Robustness — dedup: the canonical form now sorts NBT compound keys recursively (lists preserved). Two semantically-identical chunks that differ only in key order now dedup to a single object instead of being stored twice.
- Performance — re-commit cache: a per-repo cache maps a chunk's compressed-payload hash to its stored object hash, so re-committing a mostly-unchanged world skips decoding the unchanged chunks. Measured ~7× faster re-commit on the example world (0.54s → 0.08s). Commit still verifies the object exists before trusting a cache hit;
statusreads the cache but never writes it.
Tests
58 (was 55): detached commit keeps main put; reordered-key compounds hash identically; re-commit adds no objects and matches HEAD. Verified end-to-end on the real world — re-commit is a fast no-op and checkout still round-trips clean.
Deliberately deferred (documented in README)
hardlink/reflink for the apply copy; delta-packed objects; remotes; in-place conflict resolution; criss-cross merge-base; and addressing NBT keys that contain literal ./[.