ref:cf29caabd2559ff9e4eed49173d57eb21422406f

docs: remove stale REF_DELTA limitation, note thin-pack support

REF_DELTA resolution is fully implemented and covered by tests (both synthetic in reader_test.exs and real git --thin packs in protocol_interop_test.exs). The README entry claiming it was unsupported was stale. Closes #3
SHA: cf29caabd2559ff9e4eed49173d57eb21422406f
Author: Cole Christensen <cole.christensen@macmillan.com>
Date: 2026-04-17 17:11
Parents: d628ddc
2 files changed +3 -1
Type
CHANGELOG.md +3 −0
@@ -17,6 +17,9 @@
- `list_objects/2` callback on Storage behaviour for enumerating loose objects
- Dialyzer enforced in CI pipeline
- `Pack.Reader.read_object/4` with external resolver for REF_DELTA bases
- Full REF_DELTA / thin-pack resolution via `:external_resolver` on `Pack.Reader.parse/2`,
wired through ReceivePack so `git push --thin` and clones from thin-pack-producing
clients work end-to-end (integration-tested against real `git pack-objects --thin`)
- `update_hook` and `post_receive_hook` for ReceivePack (per-ref gating, post-push notifications)
- Configurable per-repo `max_object_size` via `Repo.new/2` (default 128MB unchanged)
- CalVer release automation via CI (`ci/release.sh`, `.anvil.yml` release step)
README.md +0 −1
@@ -122,7 +122,6 @@
This is v0.1.0 — a functional foundation with some protocol features still in progress:
- **REF_DELTA** — pack reader resolves OFS_DELTA but not REF_DELTA (thin packs from `git fetch` may fail)
- **ofs-delta generation** — pack writer stores full objects only, no delta compression
- **multi_ack_detailed** — upload-pack uses NAK-only negotiation
- **side-band-64k** — receive-pack doesn't use side-band for status reporting