hive migrate
Upgrades a project’s tasks and config to the current Hive layout. Run it once on an older project to rename outdated stage folders, rewrite renamed config keys, and backfill task ids and display names. It’s the explicit, idempotent upgrade path for projects created before recent layout changes.
Usage
hive migrate [PROJECT_PATH]
PROJECT_PATH defaults to the current directory. The project must already have
a .hive-state/stages/ directory.
What it does
- Renames stage folders from the old layout to the current one (for
example, the old
5-reviewbecomes6-review, old6-prbecomes8-finalize, old done stages become9-done). Only real task folders move; stray files stay put. - Rewrites renamed config keys to their current names (canonical keys win if both old and new are present).
- Backfills task ids for tasks missing one. Existing ids are never reassigned.
- Backfills display names for tasks missing one. Existing names are kept.
All changes are committed inside .hive-state, and only when there’s something
to change. Re-running after a successful migration reports there’s nothing to do
and leaves your folders in place.
Examples
# Migrate the project in the current directory
hive migrate
# Migrate a specific project
hive migrate ~/Dev/your-project
When hive status warns about
legacy stage directories, hive migrate is what clears them.