Snapshots are the unit of history in ver. Every snapshot has a name (or you can use its BLAKE3 ID) and an optional description.
Full snapshots
ver snap full --name my-snapshot --description "before the big refactor"Snapshots every tracked file in the project. The previous head becomes the new snapshot’s parent.
Partial snapshots
Snapshot only specific files:
ver snap from --name config-only --file ver.toml --file README.mdA partial snapshot is marked partial: true. Restoring one never deletes files it doesn’t mention.
Patching a snapshot
Add or update files in an existing snapshot:
ver snap patch --identifier my-snapshot --file forgot-this.txtThe snapshot keeps its ID and name; its file map is updated in place. Patching a full snapshot keeps it full.
Restoring: ver goto
ver goto my-snapshotReconstructs the snapshot’s files in the project and moves the head pointer. With a full snapshot, files on disk that aren’t in the snapshot are deleted; pass --no-delete to keep them:
ver goto my-snapshot --no-deleteRestore only specific paths:
ver goto my-snapshot --path src/main.rs --path Cargo.tomlIf you’re already on the requested snapshot, goto says so and does nothing.
Browsing history: ver log
ver log
ver log --limit 5Prints history entries (date, snapshot ID, name, description), newest first, in a pager.
History entries are individual files under .ver/snapshots_history/, so entries can go missing independently (e.g. after a partial sync). By default a missing entry is an error; pass --incomplete-ok to print what exists with a warning:
ver log --incomplete-ok