gabriel / muse public
archive.md markdown
88 lines 2.7 KB
Raw
sha256:c5131d76c6eada02939111fda4aa8e51b0c1456b9983727cfd6be101916de14e merge: pull local/dev — resolve trivial _EXT_MAP symbol con… Sonnet 4.6 patch 14 days ago

muse archive — export a snapshot as a portable archive

muse archive packages any historical snapshot into a self-contained tar.gz or zip file. The archive contains only the tracked files — no .muse/ metadata is included. This makes it the canonical format for distributing a specific version of your work.

Usage

muse archive                                # HEAD snapshot → <sha12>.tar.gz
muse archive --ref v1.0.0                   # tag tip → <sha12>.tar.gz
muse archive --ref feat/audio               # branch tip
muse archive --ref a1b2c3d4                 # specific commit SHA prefix
muse archive --format zip --output out.zip  # zip format, custom name
muse archive --prefix myproject/            # add directory prefix inside archive

Options

Flag Default Description
--ref, -r HEAD Branch name, tag, or commit SHA to archive
--format, -f tar.gz Archive format: tar.gz or zip
--output, -o <sha12>.<format> Output file path
--prefix (none) Directory prefix prepended to all paths inside the archive

Supported formats

Format Extension Notes
tar.gz .tar.gz Compressed tar, widely supported
zip .zip ZIP with DEFLATE compression, Windows-friendly

Output

✅ Archive: release-v1.0.tar.gz  (47 file(s), 312.8 KiB)
   Commit:  a1b2c3d4ef56  feat: release v1.0

What is included

  • All files tracked in the snapshot manifest at the specified ref.
  • Files are stored under their original relative paths (or under --prefix/ if specified).

What is NOT included

  • .muse/ metadata (commits, snapshots, object store)
  • Untracked files from state/
  • Reflog entries, branch refs, config

--prefix usage

The prefix flag lets you distribute archives that unpack into a named directory, matching the convention of most open-source releases:

muse archive --prefix myproject-1.0/ --output myproject-1.0.tar.gz
# Inside the archive: myproject-1.0/README.md, myproject-1.0/src/main.py, …

Agent workflows

Create a release artifact

muse tag v1.0.0 --message "Release 1.0"
muse archive --ref v1.0.0 --format zip --output release-v1.0.zip

Batch-archive all tags

for tag in $(muse tag list --names-only); do
    muse archive --ref "$tag" --output "archives/$tag.tar.gz"
done

Distribute a specific commit

# Share an exact commit without exposing history:
muse archive --ref a1b2c3d4 --prefix shared-experiment/ --output experiment.zip

Exit codes

Code Meaning
0 Success
1 Ref not found, unknown format, or snapshot missing
File History 5 commits
sha256:c5131d76c6eada02939111fda4aa8e51b0c1456b9983727cfd6be101916de14e merge: pull local/dev — resolve trivial _EXT_MAP symbol con… Sonnet 4.6 patch 14 days ago
sha256:9c33d61749fff814c5226d5386aa2af7064c2c02788594a25fdd709358132eea fix: _PROPOSAL_PREFIX_RESOLVE_LIMIT 200 → 100 to match hub … Sonnet 4.6 21 days ago
sha256:36c3cb3e76619d4c30a6d9bf81b5ec4ff148e30dcfed913e3114ca7b43b81c7e fix: rename objects→blobs in push client and all stale test… Sonnet 4.6 patch 24 days ago
sha256:c06a9b9b9fee26c68ea725b44d54b2c0a171301ce9de746d5b656617b4463a9a fix: repair four test failures from post-migration audit Sonnet 4.6 patch 30 days ago
sha256:1900655993c83c4107067375548a7be823e471d2515830842f1a12cba4bd3cdf fix: unified object store migration — idempotent writes, JS… Sonnet 4.6 minor 30 days ago