gabriel / muse public
fix patch push dev
AI Agent gabriel · 46 days ago · Apr 26, 2026 · Diff

fix(push): send only delta objects on force push; fix remote-not-configured test isolation

Remove the 'if force: have = []' branch that cleared all have-anchors on force push, causing collect_object_ids to walk the entire object graph and resend every object even when the server already held most of them via other branches. Force push now uses the same have-filter as normal push: exclude commits that don't exist locally (diverged remote history) while keeping all shared ancestry as exclusion anchors.

Fix two TestErrorRouting tests that failed on authenticated systems because muse init auto-wires local/staging/production remotes when a handle is resolved. Patch resolve_default_handle to return None during init so the test repos have a truly empty remote config, exercising the '(none)' and 'lists existing remotes' branches correctly.

Add test_push_force_delta.py with 6 TDD tests covering: - force push sends only new objects when other branches share history - force push sends all objects when repo has no other branches - diverged remote head is excluded; other branches still used as have-anchors - normal push after branch-merge-cycle succeeds without --force - push correctly requires --force when dev genuinely diverged - collect_object_ids excludes have-objects even for non-ancestor branches

sha256:949599cdf8cc39ef78600d9a9aa33788331d99c4bcc830616f7fa4389f44eabd sha
sha256:43c46b2050097df0fca786400664773a64b784d504f63ce013dae4fcf1df75ef snapshot
← Older Oldest on dev
All commits
Newer → Latest on dev

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:949599cdf8cc39ef78600d9a9aa33788331d99c4bcc830616f7fa4389f44eabd --body "your comment"