fix: muse push --tags must still sync tags when branch is up to date
push.py returned early with status=up_to_date whenever remote_head == local_head, BEFORE reaching the tag-push block further down - so 'muse push --tags' silently did nothing whenever the branch itself had no new commits to send, even with pending local tags and --tags explicitly passed.
Discovered while creating the first-ever real muse tag on this repo: tagged an already-pushed commit, ran 'muse push staging main --tags', got status=up_to_date with no error, and a fresh pull elsewhere showed zero tags. Every existing VT_29 test used a mock transport with branch_heads={} (remote_head always None), which only exercises the first-push path and never caught this.
Moved the --tags resolution and transport.push_version_tags() call to run before the up_to_date early return (token/url/transport are all already available at that point), and removed the now-duplicate computation later in the function that would otherwise double-push tags on a normal push. Added VT_29b covering the up-to-date + --tags case with a mock branch_heads matching local_head.
Semantic Changes
3 symbols
Files Changed
~2
1120 in snapshot
0 comments
muse hub commit comment sha256:3681e49e76d2e2614dcd1208366ea7b5860a665ade7a0cc9941ac60725594b95 --body "your comment"
No comments yet. Be the first to start the discussion.