refactor: re-implement git stash apply

* supports `--index` option
* add an option to drop selected stash after applying
* remove `Pop` context menu for stash

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2025-02-06 16:33:55 +08:00
parent dbb1df5f8b
commit 7089f29b85
No known key found for this signature in database
9 changed files with 121 additions and 22 deletions

View file

@ -141,15 +141,9 @@ namespace SourceGit.ViewModels
apply.Header = App.Text("StashCM.Apply");
apply.Click += (_, ev) =>
{
Task.Run(() => new Commands.Stash(_repo.FullPath).Apply(stash.Name));
ev.Handled = true;
};
if (_repo.CanCreatePopup())
_repo.ShowPopup(new ApplyStash(_repo.FullPath, stash));
var pop = new MenuItem();
pop.Header = App.Text("StashCM.Pop");
pop.Click += (_, ev) =>
{
Task.Run(() => new Commands.Stash(_repo.FullPath).Pop(stash.Name));
ev.Handled = true;
};
@ -165,7 +159,6 @@ namespace SourceGit.ViewModels
var menu = new ContextMenu();
menu.Items.Add(apply);
menu.Items.Add(pop);
menu.Items.Add(drop);
return menu;
}