summaryrefslogtreecommitdiffstats
path: root/pkg/gui/remote_branches_panel.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2019-11-17 13:47:47 +1100
committerJesse Duffield <jessedduffield@gmail.com>2019-11-21 22:07:14 +1100
commita9cd647075119c760ca22cceba8c4ad14687b732 (patch)
treec0327f30ec6ab244a14c07003dfce65c135017ee /pkg/gui/remote_branches_panel.go
parentf0cd730fbb025d5c9068913f5ef11c5082617209 (diff)
support deleting remote branches
Diffstat (limited to 'pkg/gui/remote_branches_panel.go')
-rw-r--r--pkg/gui/remote_branches_panel.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkg/gui/remote_branches_panel.go b/pkg/gui/remote_branches_panel.go
index b8959e12f..e53e716c5 100644
--- a/pkg/gui/remote_branches_panel.go
+++ b/pkg/gui/remote_branches_panel.go
@@ -97,3 +97,20 @@ func (gui *Gui) handleMergeRemoteBranch(g *gocui.Gui, v *gocui.View) error {
selectedBranchName := gui.getSelectedRemoteBranch().Name
return gui.mergeBranchIntoCheckedOutBranch(selectedBranchName)
}
+
+func (gui *Gui) handleDeleteRemoteBranch(g *gocui.Gui, v *gocui.View) error {
+ remoteBranch := gui.getSelectedRemoteBranch()
+ if remoteBranch == nil {
+ return nil
+ }
+ message := fmt.Sprintf("%s '%s/%s'?", gui.Tr.SLocalize("DeleteRemoteBranchMessage"), remoteBranch.RemoteName, remoteBranch.Name)
+ return gui.createConfirmationPanel(g, v, true, gui.Tr.SLocalize("DeleteRemoteBranch"), message, func(*gocui.Gui, *gocui.View) error {
+ return gui.WithWaitingStatus(gui.Tr.SLocalize("DeletingStatus"), func() error {
+ if err := gui.GitCommand.DeleteRemoteBranch(remoteBranch.RemoteName, remoteBranch.Name); err != nil {
+ return err
+ }
+
+ return gui.refreshRemotes()
+ })
+ }, nil)
+}