From 07cbae40191a88a18b68d724b4c0983ad7790fa2 Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sun, 17 Nov 2019 14:50:12 +1100 Subject: support setting upstream --- pkg/gui/remote_branches_panel.go | 21 +++++++++++++++++++++ 1 file changed, 21 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 c1534c89a..e4dfefa26 100644 --- a/pkg/gui/remote_branches_panel.go +++ b/pkg/gui/remote_branches_panel.go @@ -119,3 +119,24 @@ func (gui *Gui) handleRebaseOntoRemoteBranch(g *gocui.Gui, v *gocui.View) error selectedBranchName := gui.getSelectedRemoteBranch().Name return gui.handleRebaseOntoBranch(selectedBranchName) } + +func (gui *Gui) handleSetBranchUpstream(g *gocui.Gui, v *gocui.View) error { + selectedBranch := gui.getSelectedRemoteBranch() + checkedOutBranch := gui.getCheckedOutBranch() + + message := gui.Tr.TemplateLocalize( + "SetUpstreamMessage", + Teml{ + "checkedOut": checkedOutBranch.Name, + "selected": selectedBranch.RemoteName + "/" + selectedBranch.Name, + }, + ) + + return gui.createConfirmationPanel(g, v, true, gui.Tr.SLocalize("SetUpstreamTitle"), message, func(*gocui.Gui, *gocui.View) error { + if err := gui.GitCommand.SetBranchUpstream(selectedBranch.RemoteName, selectedBranch.Name, checkedOutBranch.Name); err != nil { + return err + } + + return gui.refreshSidePanels(gui.g) + }, nil) +} -- cgit v1.2.3