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": "Сховати незакомічені зміни",
"gitView.stash.thisWill": "Це:",
"gitView.stash.title": "Незакомічені зміни",
"gitView.stashes.actions.apply": "Apply",
"gitView.stashes.actions.drop": "Drop",
"gitView.stashes.actions.pop": "Pop",
"gitView.stashes.actions.stashCurrent": "Сховати поточні зміни",
"gitView.stashes.actions.stashCurrentWithCount": "Сховати файлів: {count}",
"gitView.stashes.confirm.drop": "Видалити {ref}?",
"gitView.stashes.description": "Зберігайте, відновлюйте й очищайте Git stashes для цього репозиторію.",
"gitView.stashes.empty.list": "Stashes ще немає.",
"gitView.stashes.empty.search": "Збігів не знайдено.",
"gitView.stashes.includeUntrackedHint": "Untracked файли додаються автоматично.",
"gitView.stashes.fileCount": "Файлів: {count}",
"gitView.stashes.fileCountLoading": "рахуємо файли...",
"gitView.stashes.itemNumber": "#{number}",
"gitView.stashes.latestLabel": "Останній",
"gitView.stashes.messagePlaceholder": "Назва stash",
"gitView.stashes.searchPlaceholder": "Пошук stashes",
"gitView.stashes.title": "Stashes",
"gitView.stashes.toast.applyFailed": "Не вдалося застосувати stash",
"gitView.stashes.toast.applySuccess": "Stash застосовано",
"gitView.stashes.toast.createFailed": "Не вдалося сховати зміни",
"gitView.stashes.toast.created": "Зміни сховано",
"gitView.stashes.toast.dropFailed": "Не вдалося видалити stash",
"gitView.stashes.toast.dropSuccess": "Stash видалено",
"gitView.stashes.toast.loadFailed": "Не вдалося завантажити stashes",
"gitView.stashes.toast.noChanges": "Немає локальних змін для stash",
"gitView.stashes.toast.popFailed": "Не вдалося pop stash",
"gitView.stashes.toast.popSuccess": "Stash popped",
"gitView.stashes.untitled": "Stash без назви",
"gitView.sync.fetch": "Fetch",
"gitView.sync.fetchFromRemote": "Fetch з {name}",
"gitView.sync.fetchTooltip": "Отримати з віддаленого",