mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-08-07 22:02:56 +03:00
Cleanup
The waiting status shouldn't happen until after the user has responded to the popup. Since we're not giving a standalone prompt about clearing the patch, all of the business in `discard` doesn't need to be in a function any more
This commit is contained in:
@@ -186,46 +186,41 @@ func (self *CommitFilesController) discard(selectedNodes []*filetree.CommitFileN
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
removeFileRange := func() error {
|
return self.c.Confirm(types.ConfirmOpts{
|
||||||
return self.c.WithWaitingStatus(self.c.Tr.RebasingStatus, func(gocui.Task) error {
|
Title: self.c.Tr.DiscardFileChangesTitle,
|
||||||
selectedNodes = normalisedSelectedCommitFileNodes(selectedNodes)
|
Prompt: self.c.Tr.DiscardFileChangesPrompt,
|
||||||
|
HandleConfirm: func() error {
|
||||||
|
return self.c.WithWaitingStatus(self.c.Tr.RebasingStatus, func(gocui.Task) error {
|
||||||
|
var filePaths []string
|
||||||
|
selectedNodes = normalisedSelectedCommitFileNodes(selectedNodes)
|
||||||
|
|
||||||
return self.c.Confirm(types.ConfirmOpts{
|
// Reset the current patch if there is one.
|
||||||
Title: self.c.Tr.DiscardFileChangesTitle,
|
if self.c.Git().Patch.PatchBuilder.Active() {
|
||||||
Prompt: self.c.Tr.DiscardFileChangesPrompt,
|
self.c.Git().Patch.PatchBuilder.Reset()
|
||||||
HandleConfirm: func() error {
|
if err := self.c.Refresh(types.RefreshOptions{Mode: types.BLOCK_UI}); err != nil {
|
||||||
var filePaths []string
|
|
||||||
|
|
||||||
// Reset the current patch if there is one.
|
|
||||||
if self.c.Git().Patch.PatchBuilder.Active() {
|
|
||||||
self.c.Git().Patch.PatchBuilder.Reset()
|
|
||||||
if err := self.c.Refresh(types.RefreshOptions{Mode: types.BLOCK_UI}); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, node := range selectedNodes {
|
|
||||||
err := node.ForEachFile(func(file *models.CommitFile) error {
|
|
||||||
filePaths = append(filePaths, file.GetPath())
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return self.c.Error(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
err := self.c.Git().Rebase.DiscardOldFileChanges(self.c.Model().Commits, self.c.Contexts().LocalCommits.GetSelectedLineIdx(), filePaths)
|
|
||||||
if err := self.c.Helpers().MergeAndRebase.CheckMergeOrRebase(err); err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return self.c.Refresh(types.RefreshOptions{Mode: types.BLOCK_UI})
|
for _, node := range selectedNodes {
|
||||||
},
|
err := node.ForEachFile(func(file *models.CommitFile) error {
|
||||||
|
filePaths = append(filePaths, file.GetPath())
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return self.c.Error(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
err := self.c.Git().Rebase.DiscardOldFileChanges(self.c.Model().Commits, self.c.Contexts().LocalCommits.GetSelectedLineIdx(), filePaths)
|
||||||
|
if err := self.c.Helpers().MergeAndRebase.CheckMergeOrRebase(err); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return self.c.Refresh(types.RefreshOptions{Mode: types.BLOCK_UI})
|
||||||
})
|
})
|
||||||
})
|
},
|
||||||
}
|
})
|
||||||
|
|
||||||
return removeFileRange()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *CommitFilesController) open(node *filetree.CommitFileNode) error {
|
func (self *CommitFilesController) open(node *filetree.CommitFileNode) error {
|
||||||
|
Reference in New Issue
Block a user