Read a file at any revision

tovio cat, including one side of a conflict.

Written By Dustin

Last updated 33 minutes ago

tovio cat <path>tovio cat <path> --at <rev>

Prints a committed file to standard output, decrypting it if you hold a reading key for it. If you do not, you get a permission denial naming what you are missing — not silent ciphertext, and not an empty file. The path is repository-root-relative, as committed.

--at takes a change id (chg:…), a commit id (blake3:…), or a lane name. It is what powers per-file history in the editor integrations.

Reading one side of a conflict

tovio cat <path> --side ourstovio cat <path> --side theirstovio cat <path> --side base

Because a conflict is a stored object rather than marker lines in your file, all three sides remain readable in full while the conflict is open. This is often faster than opening a merge tool. ours is the current lane's content as recorded in the conflict, theirs the landed lane's, and base the common ancestor.

Reading as an agent

tovio cat <path> --token <id>

Reads under a capability token. Both the token's path scope and its secret_clearance are enforced before anything is decrypted: an out-of-scope read fails with TVO-TOKEN-001, and a clearance-less read of a clearance-gated path with TVO-PERM-001 (both exit 13). Without --token, a human read using this repository's own identity is ungated.

When it refuses

SituationCode
The path is not present in the commit being readTVO-CLI-011
The path is a materialized conflict and you gave no --sideTVO-CLI-012
--side on a path that is not conflictedTVO-CLI-013
The chosen side is a deletion, so it has no contentTVO-CLI-014
--at <rev> matches no change id, commit id or laneTVO-CLI-025

All five are usage errors and exit 2.

Scripting

cat writes the file bytes to standard output, so it pipes normally. Every protected read it performs is recorded in the audit chain.

Where to find it

cat is Advanced-tier, so it is hidden from the default tovio help index. It still runs — tovio help --all lists it, and tovio help cat prints its full help regardless of tier.