Skip to content

feat(changes): changelists — park files that Stage All and Commit all leave alone (#122) - #130

Merged
antonarnaudov merged 3 commits into
mainfrom
feat/changelists
Oct 19, 2026
Merged

antonarnaudov merged 3 commits into
mainfrom
feat/changelists

Conversation

@antonarnaudov

Copy link
Copy Markdown
Contributor

Closes #122.

  • Right-click a file, a selection or a folder in the Changes view and choose Move to Changelist… to park it in a named group, or drag files onto a changelist.
  • Files in a changelist are left out of Stage All, Check all, Commit all and Discard All; they are staged only when you stage them yourself.
  • A changelist's menu stages, renames or deletes it; deleting one puts its files back in Changes and touches no file.
  • Changelists are stored per repository and per worktree inside .git, never in the project.

Tests: new git-service changelist tests (9) plus extension tests and the l10n catalog check pass locally.

🤖 Generated with Claude Code

antonarnaudov and others added 2 commits October 18, 2026 18:11
… leave alone (#122)

A file can be moved into a named changelist from its row, a selection, a
folder or by dragging it onto one. Each changelist is its own group under
Unstaged (under Changes in the checkbox model). Its files are left out of
Stage All, Check all, Commit all and Discard All, and are staged only by
hand; the Commit button's "Commit all N" counts what will really be staged.
A changelist's header stages its files, and its menu renames or deletes it
(deleting hands the files back to Changes and touches nothing).

Changelists live in <git-dir>/gitstudio-changelists.json (git-service
Changelists.ts), so they are per repository and per worktree and never in
the working tree. A parked file committed or discarded clean through
GitStudio leaves its changelist; the prune asks git, never vscode.git's
cached lists, which can read empty mid-scan.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Comment thread apps/extension/test/changesChangelistsPage.test.ts Fixed
CodeQL flagged a path written into page code unescaped (js/bad-code-sanitization).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@antonarnaudov
antonarnaudov merged commit aa7a8d5 into main Oct 19, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add changelist category folder.

2 participants