feat: add git stash management

Add a Stashes dialog with create, apply, pop, and drop actions
Include untracked files automatically when stashing
Show file counts for current changes and stash entries
This commit is contained in:
Bohdan Triapitsyn
2026-05-05 23:39:20 +03:00
parent c80c2b62a8
commit 93267927ff
19 changed files with 754 additions and 109 deletions
+28
View File
@@ -518,6 +518,34 @@ export const dict: Record<I18nKey, string> = {
"gitView.stash.stepStash": "Guarda tus cambios sin commit",
"gitView.stash.thisWill": "Esto hará:",
"gitView.stash.title": "Cambios sin commit",
"gitView.stashes.actions.apply": "Apply",
"gitView.stashes.actions.drop": "Drop",
"gitView.stashes.actions.pop": "Pop",
"gitView.stashes.actions.stashCurrent": "Stash current changes",
"gitView.stashes.actions.stashCurrentWithCount": "Stash {count} files",
"gitView.stashes.confirm.drop": "Drop {ref}?",
"gitView.stashes.description": "Save, restore, and clean up Git stashes for this repository.",
"gitView.stashes.empty.list": "No stashes yet.",
"gitView.stashes.empty.search": "No matching stashes.",
"gitView.stashes.includeUntrackedHint": "Untracked files are included automatically.",
"gitView.stashes.fileCount": "{count} files",
"gitView.stashes.fileCountLoading": "counting files...",
"gitView.stashes.itemNumber": "#{number}",
"gitView.stashes.latestLabel": "Latest",
"gitView.stashes.messagePlaceholder": "Stash name",
"gitView.stashes.searchPlaceholder": "Search stashes",
"gitView.stashes.title": "Stashes",
"gitView.stashes.toast.applyFailed": "Failed to apply stash",
"gitView.stashes.toast.applySuccess": "Stash applied",
"gitView.stashes.toast.createFailed": "Failed to stash changes",
"gitView.stashes.toast.created": "Changes stashed",
"gitView.stashes.toast.dropFailed": "Failed to drop stash",
"gitView.stashes.toast.dropSuccess": "Stash dropped",
"gitView.stashes.toast.loadFailed": "Failed to load stashes",
"gitView.stashes.toast.noChanges": "No local changes to stash",
"gitView.stashes.toast.popFailed": "Failed to pop stash",
"gitView.stashes.toast.popSuccess": "Stash popped",
"gitView.stashes.untitled": "Untitled stash",
"gitView.sync.fetch": "Fetch",
"gitView.sync.fetchFromRemote": "Fetch de {name}",
"gitView.sync.fetchTooltip": "Fetch del remoto",