fix(push/dry-run): remove c!=local_head filter so up-to-date dry-run reports 0 (muse#32)
When a sibling tracking ref equals local_head (e.g. local main is at the same commit as an already-pushed remote dev), the c!=local_head filter was incorrectly excluding local_head from the have set. walk_commits([D], have=[]) then walked the full history instead of pruning at D immediately.
Fix: drop the filter. walk_commits([local_head], have=[all_tracking_refs]) prunes local_head on entry when it appears in have_set, correctly reporting commits_sent=0 — matching the live path's up-to-date short-circuit.
This also covers re-push dry-runs: if staging/main already points at local_head, the result is now commits_sent=0 (correct) rather than over-counting.
Tests: RG_01 (red→green, 2 variants: local==remote, re-push), RG_02 (non-zero guard). Suite: 21/21 wire-marked tests green; 85/85 adjacent push corpus green.
Semantic Changes
7 symbols
0 comments
muse hub commit comment sha256:6ec37c93009f7c30451ea8db62a0a1b764bb79fa93231b5506bb6855251b3e5d --body "your comment"
No comments yet. Be the first to start the discussion.