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
0 comments
muse hub commit comment sha256:949599cdf8cc39ef78600d9a9aa33788331d99c4bcc830616f7fa4389f44eabd --body "your comment"
No comments yet. Be the first to start the discussion.