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.
Naming a changelist
Section titled “Naming a changelist”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.
The Changelists view
Section titled “The Changelists view”] 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.
Drilling into a list
Section titled “Drilling into a list”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.
Committing a changelist
Section titled “Committing a changelist”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.
Saving a changelist’s diff
Section titled “Saving a changelist’s diff”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.
Filtering
Section titled “Filtering”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.