diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-03-19 22:22:00 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-03-25 09:39:04 +1100 |
commit | b1941c33f7ec2f6c1868a395656c0c57f7c0ac05 (patch) | |
tree | 92d1352c19567559257c1ae9bb07540f51a4d063 /pkg/gui/reset_menu_panel.go | |
parent | a15a7b607d2aa8378fb7f4b52c154643a78e8e14 (diff) |
undo via rebase
Diffstat (limited to 'pkg/gui/reset_menu_panel.go')
-rw-r--r-- | pkg/gui/reset_menu_panel.go | 56 |
1 files changed, 30 insertions, 26 deletions
diff --git a/pkg/gui/reset_menu_panel.go b/pkg/gui/reset_menu_panel.go index 1920aeb1e..49dd95c3c 100644 --- a/pkg/gui/reset_menu_panel.go +++ b/pkg/gui/reset_menu_panel.go @@ -6,11 +6,39 @@ import ( "github.com/fatih/color" ) +func (gui *Gui) resetToRef(ref string, strength string) error { + if err := gui.GitCommand.ResetToCommit(ref, strength); err != nil { + return gui.createErrorPanel(gui.g, err.Error()) + } + + if err := gui.switchCommitsPanelContext("branch-commits"); err != nil { + return err + } + + gui.State.Panels.Commits.SelectedLine = 0 + gui.State.Panels.ReflogCommits.SelectedLine = 0 + + if err := gui.refreshCommits(gui.g); err != nil { + return err + } + if err := gui.refreshFiles(); err != nil { + return err + } + if err := gui.refreshBranches(gui.g); err != nil { + return err + } + if err := gui.resetOrigin(gui.getCommitsView()); err != nil { + return err + } + + return gui.handleCommitSelect(gui.g, gui.getCommitsView()) +} + func (gui *Gui) createResetMenu(ref string) error { strengths := []string{"soft", "mixed", "hard"} menuItems := make([]*menuItem, len(strengths)) for i, strength := range strengths { - innerStrength := strength + strength := strength menuItems[i] = &menuItem{ displayStrings: []string{ fmt.Sprintf("%s reset", strength), @@ -19,31 +47,7 @@ func (gui *Gui) createResetMenu(ref string) error { ), }, onPress: func() error { - if err := gui.GitCommand.ResetToCommit(ref, innerStrength); err != nil { - return gui.createErrorPanel(gui.g, err.Error()) - } - - if err := gui.switchCommitsPanelContext("branch-commits"); err != nil { - return err - } - - gui.State.Panels.Commits.SelectedLine = 0 - gui.State.Panels.ReflogCommits.SelectedLine = 0 - - if err := gui.refreshCommits(gui.g); err != nil { - return err - } - if err := gui.refreshFiles(); err != nil { - return err - } - if err := gui.refreshBranches(gui.g); err != nil { - return err - } - if err := gui.resetOrigin(gui.getCommitsView()); err != nil { - return err - } - - return gui.handleCommitSelect(gui.g, gui.getCommitsView()) + return gui.resetToRef(ref, strength) }, } } |