feat(reflog): Phase 4 — GC integration (RL_18–RL_20)
- Add reflog_expired field to GcResult dataclass - Add _DEFAULT_REFLOG_EXPIRE_DAYS = 90 constant to gc.py - run_gc() and _run_gc_inner() accept reflog_expire_days parameter - _expire_all_reflogs() helper prunes HEAD log + all branch logs during GC - muse gc --json gains reflog_expired integer field (RL_18) - muse gc --dry-run --json reports count without writing (RL_19) - CLI reads reflog.expire-days from config; falls back to 90 (RL_18) - Human-readable output prints expired count when > 0 - Integration tests verify entries gone from disk after gc (RL_20) - 15 new tests; 100/100 across all reflog+GC test files
sha256:6b79ec131a5ad528addc784d77fe632e6abc3cd1f9be179d2861b14190180724
sha
+43
~8
symbols
sha256:b4a8e2148f8b5dd27b99f44bdc9cacf746e419d91a79b13a1ea935fcbcf53b34
snapshot
+43
symbols added
~8
symbols modified
0
dead code introduced
Semantic Changes
51 symbols
+
test_dry_run_does_not_delete_log_entries
method
method test_dry_run_does_not_delete_log_entries L198–211
+
test_dry_run_does_not_remove_log_file
method
method test_dry_run_does_not_remove_log_file L213–224
+
test_json_output_has_reflog_expired_field
method
method test_json_output_has_reflog_expired_field L90–101
+
test_old_entries_counted_in_reflog_expired
method
method test_old_entries_counted_in_reflog_expired L103–119
+
test_reflog_expire_days_config_respected
method
method test_reflog_expire_days_config_respected L156–170
+
test_reflog_expired_zero_when_no_log_files
method
method test_reflog_expired_zero_when_no_log_files L146–154
+
test_all_old_entries_removed_file_deleted
method
method test_all_old_entries_removed_file_deleted L265–272
+
test_branch_old_entries_removed_after_gc
method
method test_branch_old_entries_removed_after_gc L274–288
+
test_gc_output_without_json_flag_mentions_reflog
method
method test_gc_output_without_json_flag_mentions_reflog L306–316
+
test_old_head_entries_removed_after_gc
method
method test_old_head_entries_removed_after_gc L248–263
Older
feat: add muse reflog delete subcommand (RL_13–RL_17)
sha256:d7741710f9f82cc59332a507cfb00bb2cca8ebd2924c2d26f19326af5cce3301
All commits
Newer
docs: check off RL_18–RL_20 (Phase 4 complete)
sha256:866411acfb8edb255e19cc210c106af6dd901e54780ea299f85e57ffdf6f98d8
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:6b79ec131a5ad528addc784d77fe632e6abc3cd1f9be179d2861b14190180724 --body "your comment"
No comments yet. Be the first to start the discussion.