1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-10-29 15:09:22 +03:00

Fix dropping a range of stashes in filtered mode

To fix the problem described in the previous commit, iterate backwards over the
stashes that we want to delete. This allows us to use their Index field.
This commit is contained in:
Stefan Haller
2025-08-25 18:41:06 +02:00
parent ef3e899f5b
commit bf419abb8e
2 changed files with 2 additions and 13 deletions

View File

@@ -161,9 +161,8 @@ func (self *StashController) handleStashDrop(stashEntries []*models.StashEntry)
Prompt: self.c.Tr.SureDropStashEntry,
HandleConfirm: func() error {
self.c.LogAction(self.c.Tr.Actions.Stash)
startIndex := stashEntries[0].Index
for range stashEntries {
err := self.c.Git().Stash.Drop(startIndex)
for i := len(stashEntries) - 1; i >= 0; i-- {
err := self.c.Git().Stash.Drop(stashEntries[i].Index)
self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.STASH}})
if err != nil {
return err

View File

@@ -58,24 +58,14 @@ var DropMultipleInFilteredMode = NewIntegrationTest(NewIntegrationTestArgs{
Content(Contains("Are you sure you want to drop the selected stash entry(ies)?")).
Confirm()
}).
/* EXPECTED:
IsEmpty()
ACTUAL: */
Lines(
Contains("stash two-a"),
)
t.GlobalPress(keys.Universal.Return) // cancel filtering mode
t.Views().Stash().
Lines(
/* EXPECTED:
Contains("stash four"),
Contains("stash three"),
Contains("stash one"),
ACTUAL: */
Contains("stash four"),
Contains("stash two-a"),
Contains("stash one"),
)
},
})