Skip to content

Changelists

A changelist is a native SVN feature: a name attached to a set of paths in the working copy. revision uses one changelist to emulate staging, and exposes the rest as first-class groups you can review and commit independently.

Press n in the Files panel. A prompt asks for the name, then:

  • If anything is staged, the whole staged set moves into that changelist.
  • If nothing is staged, the selected file moves on its own.

tab in the prompt switches between typing a new name and picking an existing changelist from a list. enter confirms, esc cancels.

] turns the Files panel to the Changelists view (and [ turns back). Groups are ordered named lists first, alphabetically, then the staged bucket, then everything not in a changelist:

╭─ [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                 ││                                              │
│                              ││                                              │
╰──────────────────────────────╯│                                              │
╭─ [2] ─ Changes ─── Changelist╮│                                              │
│> ◆ feature-x (1)             ││                                              │
│  ◆ (staged) (1)              ││                                              │
│  ◆ (unstaged) (1)            ││                                              │
│                              ││                                              │
│                              ││                                              │
╰────────────────── 1 of 3 ────╯│                                              │
╭─ [3] Log ────────────────────╮│                                              │
│  Rev Author Message          │╰──────────────────────────────────────────────╯
│                              │╭─ [4] Command Log ────────────────────────────╮
│                              ││No svn commands run yet.                      │
│                              ││                                              │
│                              ││                                              │
│                              ││                                              │
╰──────────────────────────────╯╰──────────────────────────────────────────────╯
space stage · n changelist · c commit · r revert · d delete · [ ] view · ? help 
Row Meaning
feature-x (1) A named changelist, with its file count.
(staged) The staged set — the revision:staged changelist.
(unstaged) Everything else with pending changes.

Selecting a group shows the combined diff of its members in Main, so you can read a whole changelist as one patch. The panel footer counts the groups.

enter — or a double click, with allowMouse on — opens a changelist as its own file tree. The panel border takes the list’s name, and the hint bar changes to match.

Inside a drilled-in list you can move around, read each file’s diff, unstage with space, and commit with c. esc goes back to the overview.

With a list selected in the overview — or while drilled into it — press c. The message editor opens and the commit covers that changelist alone, leaving every other pending change untouched.

This is the useful part of the workflow: split a large working copy into several changelists, then land them as separate revisions without stashing anything.

w in the Changelists view saves the combined diff of the highlighted group. The suggested file name is the group’s label — feature-x.diff, staged.diff, unstaged.diff. See Saving a diff.

If nothing in the group has textual changes, a toast says so instead of writing an empty file.

The Files filter applies to all three Files views. cl:feature-x narrows to one changelist, and cl:staged / cl:unstaged work on the two synthetic groups.

n, c and enter are in the Changes section of the keybindings reference.