gabriel / muse public
feat patch task/sparse-checkout #1 / 1
gabriel · 62 days ago · Apr 14, 2026 · Diff

feat: muse sparse-checkout — partial working-tree materialization

Implements muse sparse-checkout with five subcommands (init, set, add, list, disable) and auto-integration with apply_manifest.

- muse/core/sparse.py: read_sparse_config, write_sparse_config, remove_sparse_config, matches_sparse (cone + pattern modes), filter_manifest_sparse - muse/cli/commands/sparse_checkout.py: full subcommand tree; ANSI injection guard on all pattern input; JSON output for list - muse/core/workdir.py: apply_manifest auto-reads .muse/sparse-checkout and filters the target manifest before any I/O; full manifest stays intact in the object store - muse/cli/app.py: sparse_checkout registered as sparse-checkout - tests/test_cmd_sparse_checkout.py: 27 tests (init/set/add/list/disable, cone + pattern matching, apply_manifest integration, 200-file stress)

Closes #16

sha256:760168196439c7580727690447099706475c744faf5de952ecbcdfd96e3cc46c sha
sha256:da993aaf1ae186a39cae5d34edac4e8df4fb6daed093e52c9dcd0b4112dd8079 snapshot
← Older Oldest on task/sparse-checkout
All commits
Newer → Latest on task/sparse-checkout

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:760168196439c7580727690447099706475c744faf5de952ecbcdfd96e3cc46c --body "your comment"