feat(pack): Phase 3 — fail loudly on MISSING objects; clean up push.py dead code
- build_mpack: raise ValueError on MISSING objects (absent locally, no promisor remote configured). PROMISED objects (absent but covered by a promisor remote) are silently skipped. Uses object_state() from object_availability — same tristate logic as verify-pack/verify. - _push_stream: same MISSING → raise / PROMISED → skip fix applied to the streaming push object loop via load_promisor_remotes(). - push.py dry-run: replaced build_mpack call (which loaded all blobs just to call len()) with walk_commits() — pure BFS, no blob I/O. - Removed dead imports from push.py: build_mpack (only needed for the now-replaced dry-run), build_mpack_from_walk (imported but never called). - 4 new TDD tests in TestPackObjectsMissingObjectValidation; 202 passing.
0 comments
muse hub commit comment sha256:fc37cb724364b6f127e376f9d065792fbbbc2ea4bc19456df131b30d5d8baa0f --body "your comment"
No comments yet. Be the first to start the discussion.