Skip to content

CLI flags

Terminal window
revision [flags]

With no flags, revision opens the TUI on the current directory.

Flag Default Description
--path <dir> . The SVN working copy to operate on.
--version Print the version and exit.
--update Check for a newer release and update the binary. Release builds only.
--update-with <curl|go> prompt The method --update uses. Requires --update.
--help Show usage and exit.
Terminal window
revision --path /path/to/working-copy

The path is resolved to an absolute path before anything else runs. If it is not an SVN working copy, revision says so and exits with status 1 rather than opening a UI it cannot use.

This sets where revision operates; displayFrom controls how much of the working copy it shows.

Once the TUI is open, P re-scopes it to another directory inside that working copy for the rest of the session — see changing the source path — and W moves it to a different working copy altogether, see switching repositories. Neither is saved; the next launch uses --path again.

Terminal window
$ revision --version
revision v1.4.0

A go install …@<tag> build reports that tag, make build reports what git describe gave it, and a plain go build reports dev.

Terminal window
revision --update # check, then prompt for a method
revision --update --update-with curl # non-interactive: run the release's install script
revision --update --update-with go # non-interactive: go install …@<tag>

--update-with without --update is a usage error, not a silent no-op.

A build checks for and applies updates when it came from the release pipeline, or from go install …@<tag> at a published tag. make build, a local cross-compile and an untagged go install never do. See Updating revision.

Status Meaning
0 Clean exit, including quitting the TUI.
1 svn is not on your PATH, the path is not a working copy, or an update failed.
2 The flags given do not go together.

Errors are written to stderr, prefixed revision:.

Before the UI appears, revision:

  1. Looks for svn on your PATH and exits with a message if it is missing.
  2. Resolves --path and runs svn info against it, with a 15-second timeout. An authentication failure produces an actionable hint rather than a hang.
  3. Loads config.json, reconciling anything missing or invalid and reporting the result in a startup toast.
  4. Pins the colour profile when a named theme is selected.

revision reads no configuration from the environment beyond what SVN and OpenSSH use themselves. Two variables are worth knowing about:

Variable Used by
XDG_CONFIG_HOME The config file location.
VISUAL / EDITOR The native editor fallback.

REVISION_VERSION and REVISION_INSTALL_DIR are read by the install script, not by the binary.