gabriel / musehub public
fix patch #61 task/fix-issue-61-global-commits #1 / 2
AI Agent gabriel · 120 days ago · May 14, 2026 · Diff

fix(#61): add migration, TDD tests, and blob-page query fix

- Alembic 0058: create musehub_commit_refs and musehub_snapshot_refs, backfill from existing rows, drop repo_id from both tables - TDD test suite: 8 integration tests covering the copytree clone path and the cross-repo commit dedup scenario (the issue #61 root case) - ui_blob: update commit listing query to join through MusehubCommitRef

sha256:2734174b3dcc180563b77be1cae0dda48801d5e76c2dcf64d63231bd02912b53 sha
+44 ~9 −4 symbols
sha256:45ec9f3ee93ead7c2d0c0af0f63a0f418d47e361fa2cfa203f826f6d84b8125a snapshot
+44
symbols added
~9
symbols modified
−4
symbols removed
0
dead code introduced
Semantic Changes 57 symbols
+ branch_labels variable variable branch_labels L23–23
+ depends_on variable variable depends_on L24–24
+ down_revision variable variable down_revision L22–22
+ downgrade function function downgrade L81–103
+ annotations import import annotations L16–16
+ op import import op L19–19
+ sa import import sa L18–18
+ revision variable variable revision L21–21
+ upgrade function function upgrade L27–78
+ HUB variable variable HUB L23–23
+ REPO_ROOT variable variable REPO_ROOT L24–24
+ TestCloneAfterPushFromCopytree class class TestCloneAfterPushFromCopytree L112–187
+ _push_from_copy method method _push_from_copy L115–122
+ test_clone_after_push_from_copytree_succeeds method method test_clone_after_push_from_copytree_succeeds L153–168
+ test_cloned_repo_has_correct_commit_count method method test_cloned_repo_has_correct_commit_count L170–187
+ test_push_from_copytree_exits_zero method method test_push_from_copytree_exits_zero L124–133
+ test_server_has_branch_after_push_from_copytree method method test_server_has_branch_after_push_from_copytree L135–151
+ TestCommitDedupAcrossRepos class class TestCommitDedupAcrossRepos L192–250
+ hub_repo_b method method hub_repo_b L206–216
+ test_clone_second_repo_after_same_commits_pushed_to_first method method test_clone_second_repo_after_same_commits_pushed_to_first L218–250
+ TestRemoteRemoveClearsTrackingRefs class class TestRemoteRemoveClearsTrackingRefs L79–107
+ test_push_creates_tracking_ref method method test_push_creates_tracking_ref L87–95
+ test_remote_remove_clears_tracking_refs method method test_remote_remove_clears_tracking_refs L97–107
+ test_tracking_ref_absent_before_push method method test_tracking_ref_absent_before_push L80–85
+ hub_repo function function hub_repo L64–74
+ Path import import Path L19–19
+ annotations import import annotations L13–13
+ json import import json L15–15
+ pytest import import pytest L21–21
+ shutil import import shutil L16–16
+ subprocess import import subprocess L17–17
+ tempfile import import tempfile L18–18
+ muse function function muse L29–33
+ muse_check function function muse_check L36–40
+ seed_repo function function seed_repo L46–60
~ musehub/api/routes/musehub/ui_blob.py .py 1 symbol added, 3 symbols modified
+ MusehubCommitRef import import MusehubCommitRef L28–28
~ tests/bench_cli.py .py 8 symbols added, 4 symbols removed, 6 symbols modified
_muse_mpack import import _muse_mpack L26–26
_muse_pack import import _muse_pack L24–24
_muse_transport import import _muse_transport L25–25
_musehub_wire import import _musehub_wire L29–29
+ BIP39_WORDS variable variable BIP39_WORDS L206–206
+ bench_text function function bench_text L208–234
+ Mnemonic import import Mnemonic L25–25
+ itertools import import itertools L13–13
+ mpack import import mpack L27–27
+ musehub_wire import import musehub_wire L30–30
+ pack import import pack L27–27
+ transport import import transport L27–27

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:2734174b3dcc180563b77be1cae0dda48801d5e76c2dcf64d63231bd02912b53 --body "your comment"