Skip to content

Quick start

This walks the everyday loop: look at what changed, read a diff, stage it, commit it. It assumes revision is installed and you are standing in an SVN working copy.

Terminal window
cd /path/to/working-copy
revision

Or point it at a working copy from anywhere:

Terminal window
revision --path /path/to/working-copy
╭─ [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                      │╰──────────────────────────────────────────────╯
│   * r42                      │╭─ Command Log ────────────────────────────────╮
│                              ││No svn commands run yet.                      │
╰────────────── 1 of 2 · 1 ────╯│                                              │
╭─ [4] Shelf ──────────────────╮│                                              │
│                              ││                                              │
╰──────────────────────────────╯╰──────────────────────────────────────────────╯
space stage · a add · v pick · n changelist · c commit · r revert · d delete · …

The Status panel names the working-copy root, the branch, and the revision you sit at against HEAD. The Files panel lists pending changes as a directory tree. The Log panel holds history, newest first. Main, on the right, shows detail for whatever is selected.

Focus a panel by number — 1 Status, 2 Files, 3 Log, 0 Main — or cycle the three side panels with tab. Move the selection with / (or k / j), and page the Main panel with K / J.

For the pointer instead, turn on allowMouse — it is off by default.

The hint bar at the bottom always shows what the focused panel can do:

spacestageaaddnchangelistccommitrrevertddelete[ ]view?help

Press ? at any time for the full keybindings menu, and q to quit.

Focus the Files panel with 2 and move onto a modified file. Main follows the selection and shows its diff — additions, deletions, hunk headers and metadata each tinted, with the +/- gutter pinned as you scroll.

Highlight a directory row instead and Main shows the combined diff of everything beneath it. Press enter on a directory to collapse or expand it.

For a longer look, s reopens the same diff side by side, and w saves it to a file.

Press space on a file to stage it. On a directory row, space stages every change beneath it; press it again to unstage them. An untracked file is added for you as part of staging — a adds one on its own.

Staged files move into the (staged) group. There is no SVN staging index — revision emulates one with a reserved changelist. See Staging & commit for what that means in practice.

Press c. An inline editor opens for the message:

╭─ [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                 ││                                              │
│               ╭─ Commit message ─────────────────────────────╮               │
╰───────────────│Fix status parsing                            │               │
╭─ [2] ─ Changes│                                              │               │
│   ▾ /         │                                              │               │
│>    ● M modifi│                                              │               │
│               │                                              │               │
│               │                                              │               │
╰───────────────│                                              │               │
╭─ [3] Log ─────│                                              │               │
│  Rev Author Me│                                              │               │
│               │ctrl+s submit · esc cancel                    │───────────────╯
│               ╰──────────────────────────────────────────────╯───────────────╮
│                              ││No svn commands run yet.                      │
╰──────────────────────────────╯│                                              │
╭─ [4] Shelf ──────────────────╮│                                              │
│                              ││                                              │
╰──────────────────────────────╯╰──────────────────────────────────────────────╯
space stage · a add · v pick · n changelist · c commit · r revert · d delete · …

ctrl+s submits, esc cancels. The commit covers the staged set — or, if you are in the Changelists view with a list highlighted, that list alone.

u updates the working copy to HEAD. To move to a specific revision, focus the Log panel with 3, select the revision, and press space. Both confirm first and keep your uncommitted changes — see Updating the working copy.

Press R to re-read status and history at any time, and 4 to see the svn commands revision ran on your behalf.