25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
# Undo
|
|
|
|
The CLI calls `http://host.sausage/undo` through standard WASI HTTP.
|
|
The API returns JSON.
|
|
|
|
- `undo list [--conversation ID]` lists tags, newest first.
|
|
- `undo show TAG` lists the old states for a tag.
|
|
- `undo TAG [--force]` restores one tag.
|
|
- `undo --since ENTRY [--force]` restores all tags from the named entry, inclusive.
|
|
|
|
A later tag that changes the same path causes a conflict.
|
|
Undo stops before changes when conflicts or unavailable snapshots exist.
|
|
`--force` overrides conflicts and skips unavailable snapshots.
|
|
The response lists both conditions.
|
|
An undo creates its own tag, which permits another undo.
|
|
|
|
The journal records content, directories, and absence, not mode bits.
|
|
WASI exposes no mode bits.
|
|
Files over 64 MiB and symlinks have unavailable snapshots.
|
|
The journal excludes `/proc`, `/run`, and `/tmp`.
|
|
The store deduplicates content by SHA-256 outside the world, under `host/undo`.
|
|
Retention removes the oldest tags after seven days or above 4 GiB of unique content.
|
|
The host applies retention after each command and before each API request.
|
|
Undo does not reverse network effects or native builds.
|