feat(vcs): show shelved changes and act on single files (#531)

The shelf could only unshelve or delete a whole changelist, and could not show what it contained: file selection lost its scope and shelf data was not connected to the diff and patch workflows.

The context menu now has Show Diff, Show Diff in a New Tab, Compare with Local, Create Patch, Copy as Patch to Clipboard and Import Patches, alongside Unshelve, Rename and Delete. Actions on a file node apply to that file only, including unshelve and delete. Diffs use the base saved with the shelf, and quoted, added, deleted and binary files are handled.

Fixes #522
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-10-31 12:17:41 +08:00
1 джерело d4b354732c
коміт c0f8557f05
15 files changed
+876 -97

No files matched your search

+1 -1
Переглянути файл
@@ -29,7 +29,7 @@ interface CommitState {
tab: CommitTab;
/** Change list of the selected tree node (list actions without an argument). */
selectedList: string | null;
/** Selected entry of the Shelf tab. */
/** Selected shelf tree key: shelf id, optionally followed by NUL and a file path. */
selectedShelf: string | null;
}