From a9cd647075119c760ca22cceba8c4ad14687b732 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 17 Nov 2019 13:47:47 +1100 Subject: support deleting remote branches --- pkg/gui/remote_branches_panel.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'pkg/gui/remote_branches_panel.go') 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) +} -- cgit v1.2.3