diff options
author | Hubert Baumgartner <hubert@chilicode.com> | 2018-08-10 20:19:12 +0200 |
---|---|---|
committer | Hubert Baumgartner <hubert@chilicode.com> | 2018-08-10 20:19:58 +0200 |
commit | bfa47d3b91d930697d3c6318bfc29f171475b543 (patch) | |
tree | 39e1d679af215eaaafd948ab113ccf9e039a7fa6 | |
parent | 48cea4e1c43d6a191062d33bf8b5cc9ecef3e528 (diff) |
extenden delete branch with error message and confirmation
-rw-r--r-- | branches_panel.go | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/branches_panel.go b/branches_panel.go index 968096610..0327b576e 100644 --- a/branches_panel.go +++ b/branches_panel.go @@ -51,12 +51,18 @@ func handleNewBranch(g *gocui.Gui, v *gocui.View) error { return nil } -func handleDeleteBranch(g *gocui.Gui, v *gocui.View) error { - branch := getSelectedBranch(v) - if output, err := gitDeleteBranch(branch.Name); err != nil { +func handleDeleteBranch(g *gocui.Gui, v *gocui.View) error { + checkedOutBranch := state.Branches[0] + selectedBranch := getSelectedBranch(v) + if checkedOutBranch.Name == selectedBranch.Name { + return createErrorPanel(g, "You cannot delete the checked out branch!") + } + return createConfirmationPanel(g, v, "Delete Branch", "Are you sure you want delete the branch "+selectedBranch.Name+" ?", func(g *gocui.Gui, v *gocui.View) error { + if output, err := gitDeleteBranch(selectedBranch.Name); err != nil { return createErrorPanel(g, output) } return refreshSidePanels(g) + }, nil) } |