Skip to main content
Version: 1.0.4

bd flatten

Generated from bd help --doc flatten

bd flatten

Nuclear option: squash ALL Dolt commit history into a single commit.

This uses the Tim Sehn recipe:

  1. Create a new branch from the current state
  2. Soft-reset to the initial commit (preserving all data)
  3. Commit everything as a single snapshot
  4. Swap main branch to the new flattened branch
  5. Run Dolt GC to reclaim space from old history

This is irreversible — all commit history is lost. The resulting database has exactly one commit containing all current data.

Use this when:

  • Your .beads/dolt directory has grown very large
  • You don't need commit-level history (time travel)
  • You want to start fresh with minimal storage

Examples: bd flatten --dry-run # Preview: show commit count and disk usage bd flatten --force # Actually squash all history bd flatten --force --json # JSON output

bd flatten [flags]

Flags:

--dry-run Preview without making changes
-f, --force Confirm irreversible history squash