Diff your working copy
tovio diff, against the last commit — and the diffs that are not it.
Written By Dustin
Last updated 29 minutes ago
tovio diffShows what you have changed since the last commit. Because there is no index, there is only one diff to think about — no distinction between staged and unstaged, and nothing to add first.
diff takes no flags of its own. The globals still apply (--json, --quiet), but there is no --stat, no --cached, and no revision arguments. Comparing two revisions is a different command — see below.
Protected paths
A diff involving content you are entitled to read decrypts for you. Content you are not entitled to read is not disclosed — the diff shows that the path changed without showing what it changed to. This holds everywhere, including in review.
Reviewing a change rather than the working copy
tovio change show <id> --difftovio review <change_id>review renders a change's diff against its base with protected paths redacted according to what the reader is cleared for: a clear path diffs normally, a protected path you can decrypt shows its decrypted diff, and a protected path you cannot shows only a locked marker and a coarse change indicator. It ends with a coverage summary. change show --diff delegates to the same renderer.
Comparing two commits
tovio semantic diff <old> <new>tovio semantic diff # HEAD's first parent vs HEADCompares the symbol graphs of two commits and flags breaking interface changes rather than textual ones — often the diff you actually wanted. Both arguments are optional and take a blake3:<hex> or bare hex address.
Searching instead of diffing
tovio grep <pattern>tovio log -S <string>When the question is “where is this” rather than “what did I change”, grep searches content and log -S searches history.