Every push that changes something creates a revision of the workspace. Wiele keeps every version of every file until an owner or admin decides otherwise. Deleting a file removes it from the current tree; its past versions stay.
See what changed
Inside a checkout you can leave out --workspace.
wiele branch history main --workspace client-work # revisions, newest first
wiele revision show SHA --workspace client-work # date, parents, changed paths
wiele revision diff OLDER NEWER --workspace client-work # paths changed in between
The CLI shows when each revision was made and which paths it changed. It doesn't show who pushed it or the push message.
A file's history
History works on a file's resource ID, which stays the same across edits. Get it with stat:
wiele stat client-work:/acme/budget.xlsx
wiele history RESOURCE_ID --workspace client-work
history lists the revisions that changed the file on the branch, including deletions.
Read an earlier version
Without touching a checkout:
wiele get client-work:/acme/budget.xlsx ./budget-old.xlsx --revision SHA
wiele read client-work:/acme/notes.md --revision SHA
Restore an earlier version
In a checkout, restore puts the old version back in place. The file it replaces moves to recovery, so nothing is lost:
cd acme
wiele restore budget.xlsx --revision SHA
wiele diff
wiele push -m "Restore budget from Monday"
The restore is local until you push. The push creates a new revision; history keeps everything in between.
Retention
Storage counts every kept version, so a 200 MB file saved 50 times keeps about 10 GB. Retention rules let owners and admins keep less.
A rule keeps a number of each file's newest past versions, past versions from a number of days, or both. With both, a version stays while either limit keeps it. Current files on every branch are never removed by retention.
Rules apply at four levels. The nearest one wins:
- A file.
- A folder, for every file under it.
- A workspace.
- The organization default, for everything without its own rule.
wiele workspace retention set --workspace client-work --keep-versions 10
wiele workspace retention set /archive --workspace client-work --keep-days 180
wiele workspace retention set /contracts --workspace client-work --keep-all
wiele org retention set --keep-versions 50
--keep-all on a folder keeps every version there, even under a stricter workspace or organization rule.
See which rule applies to a path and where it comes from:
wiele workspace retention explain /archive/2025 --workspace client-work
wiele workspace retention show --workspace client-work
Remove a rule so the path follows its parent again:
wiele workspace retention clear /archive --workspace client-work
The 7-day delay
A stricter rule, and removing a rule, take effect after 7 days. Until then the old rule protects the versions it kept. Looser rules apply at once.
Prune now
prune deletes past versions immediately, keeping the newest versions or days you name. Deleted versions can't be recovered, so count first:
wiele workspace retention prune /drafts --workspace client-work --keep-versions 3 --dry-run
wiele workspace retention prune /drafts --workspace client-work --keep-versions 3
A run removes a batch of versions. When the output says more versions match, run it again.
A version removed by retention or prune fails with NOT_FOUND when you try to read or restore it. Pick a newer one.