feat
patch
store
task/phase3-tags-releases-json
#1 / 1
feat(store): Phase 3 — tags and releases stored as plain JSON
- tag_path() and release_path() now return .json paths - write_tag() and write_release() use new _write_json_atomic() helper (same mkstemp+fsync+rename crash safety as _write_msgpack_atomic) - get_all_tags(), get_tags_for_commit(): glob */* (both extensions), silently migrate .msgpack → .json on first read, delete old file - list_releases(), read_release(): same upgrade path for releases - gc._collect_reachable_commits(): reads .json tags (with .msgpack fallback) - 20 TDD tests added in test_phase3_tags_releases_json.py
sha256:13593414ec8a77e9d7143c16a14a15c0dccf52dd4b9e8f450119d09a1e88f942
sha
+63
~9
symbols
sha256:26f4141455dd0c3d536c35397ef1fa69cce6a8dcdd229741dbb1a299ea135bfa
snapshot
+63
symbols added
~9
symbols modified
0
dead code introduced
Semantic Changes
72 symbols
+
test_gc_includes_json_tag_commit_id_as_tip
method
method test_gc_includes_json_tag_commit_id_as_tip L362–375
+
test_legacy_release_migrated_to_json_on_read
method
method test_legacy_release_migrated_to_json_on_read L298–307
+
test_legacy_release_msgpack_removed_after_migration
method
method test_legacy_release_msgpack_removed_after_migration L309–318
+
test_legacy_release_readable_via_list_releases
method
method test_legacy_release_readable_via_list_releases L288–296
+
test_legacy_release_readable_via_read_release
method
method test_legacy_release_readable_via_read_release L278–286
+
test_legacy_msgpack_file_removed_after_migration
method
method test_legacy_msgpack_file_removed_after_migration L261–270
+
test_legacy_tag_migrated_to_json_on_read
method
method test_legacy_tag_migrated_to_json_on_read L250–259
+
test_legacy_tag_readable_via_get_all_tags
method
method test_legacy_tag_readable_via_get_all_tags L229–238
+
test_legacy_tag_readable_via_get_tags_for_commit
method
method test_legacy_tag_readable_via_get_tags_for_commit L240–248
+
test_tag_path_directory_structure_unchanged
method
method test_tag_path_directory_structure_unchanged L130–139
+
test_write_release_produces_json_file
method
method test_write_release_produces_json_file L191–200
+
test_write_release_roundtrip_via_list
method
method test_write_release_roundtrip_via_list L213–221
+
test_write_release_roundtrip_via_read_release
method
method test_write_release_roundtrip_via_read_release L202–211
~
tag_path
← Older
Oldest on task/phase3-tags-releases-json
All commits
Newer →
Latest on task/phase3-tags-releases-json
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:13593414ec8a77e9d7143c16a14a15c0dccf52dd4b9e8f450119d09a1e88f942 --body "your comment"
No comments yet. Be the first to start the discussion.