Introduction
revision is a lazygit-style terminal UI for Subversion. It gives you a fast,
keyboard-driven interface over the svn command line — review changes, stage with
changelists, commit, update, and browse history without leaving your terminal.
╭─ [1] Status ─────────────────╮╭─ [0] Diff ───────────────────────────────────╮ │Root /home/alice/work/wc ││changelist: (staged) │ │Source /home/alice/work/wc ││ │ │CWD /home/alice/work/wc ││Loading diff… │ │Branch trunk ││ │ │Revision r42 ││ │ │HEAD r50 ││ │ ╰──────────────────────────────╯│ │ ╭─ [2] ─ Changes ─── Changelist╮│ │ │ ▾ / ││ │ │> ● A added.txt ││ │ │ M modified.go ││ │ │ D gone.txt ││ │ │ ││ │ ╰────────────────── 1 of 3 ────╯│ │ ╭─ [3] Log ────────────────────╮│ │ │ Rev Author Message │╰──────────────────────────────────────────────╯ │ r50 │╭─ [4] Command Log ────────────────────────────╮ │ * r42 ││No svn commands run yet. │ │ ││ │ │ ││ │ │ ││ │ ╰────────────── 1 of 2 · 1 ────╯╰──────────────────────────────────────────────╯ space stage · n changelist · c commit · r revert · d delete · [ ] view · ? help
SVN’s command line is powerful but verbose for day-to-day work. revision wraps it in a
focused TUI — inspired by lazygit — so common
tasks are a keystroke away.
It is a front end, not a reimplementation. Every action shells out to the svn binary
already on your PATH, so it respects your working copy, your cached credentials, and
your existing SVN configuration. Nothing is cached behind your back, and anything
revision runs on your behalf is listed in the Command Log panel.
What it does
Section titled “What it does”Layout and navigation
- A left column of Status, Files and Log panels beside a Main detail view, with a Command Log beneath it. Switch panels with the number keys or Tab, and scroll any panel on both axes.
- Changed files as a collapsible directory tree, each change grouped under its folder.
- A contextual hint bar at the bottom, plus a full ? help menu.
- Optional mouse support: turn it on and the panels can be clicked and scrolled, with every gesture still on a key.
Reviewing changes
- A colour-coded diff viewer that follows your selection, with the
+/-gutter pinned as you scroll. Highlight a directory for the combined diff of everything beneath it. - Side-by-side reading with s — each removal opposite the addition that replaced it, every line numbered in its own revision.
- Save any diff on screen to a file with w, then browse the saved patches from the Files panel’s Diffs view.
Making changes
- Staging through an SVN changelist, so a git-like stage-then-commit flow maps onto native SVN. Stage one file or a whole directory subtree with a single keystroke.
- Named changelists — group the staged set in a tabbed view, drill into any list, and commit it as a unit.
- Commit through an inline message editor; add, revert and delete with confirmation prompts before anything destructive.
- Update to HEAD, or to any revision picked in the Log panel.
Finding things
- A read-only log viewer with per-revision detail and an asterisk marking where the working copy sits.
- Filter or search any panel with / — the list panels filter, the detail panels highlight matches in place.
Living with it
- Six colour schemes and every setting editable in-app with S, previewed live.
- svn+ssh support:
revisionchecks your agent for the configured key and prompts once for its passphrase. - Self-update on release builds, and an editor integration that works even over Remote-SSH.
Where to go next
Section titled “Where to go next”- Requirements — what needs to be installed first.
- Installation — one command on Linux and macOS.
- Quick start — stage and commit your first change.
- Keybindings — the full key reference.