1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-31 14:24:25 +03:00

Pass a remote branch to ConfirmDeleteRemote

Since we want to select multiselections, this will make it easier to pass a
slice of remote branches. It does require that for the case of the local
branches panel we need to synthesize a RemoteBranch object from the selected
local branch, but that's not hard.
This commit is contained in:
Stefan Haller
2024-11-23 18:03:43 +01:00
parent e98cc4d016
commit 92bce7de43
3 changed files with 8 additions and 7 deletions

View File

@ -525,7 +525,8 @@ func (self *BranchesController) localDelete(branch *models.Branch) error {
} }
func (self *BranchesController) remoteDelete(branch *models.Branch) error { func (self *BranchesController) remoteDelete(branch *models.Branch) error {
return self.c.Helpers().BranchesHelper.ConfirmDeleteRemote(branch.UpstreamRemote, branch.UpstreamBranch) remoteBranch := &models.RemoteBranch{Name: branch.UpstreamBranch, RemoteName: branch.UpstreamRemote}
return self.c.Helpers().BranchesHelper.ConfirmDeleteRemote(remoteBranch)
} }
func (self *BranchesController) localAndRemoteDelete(branch *models.Branch) error { func (self *BranchesController) localAndRemoteDelete(branch *models.Branch) error {

View File

@ -66,18 +66,18 @@ func (self *BranchesHelper) ConfirmLocalDelete(branch *models.Branch) error {
return nil return nil
} }
func (self *BranchesHelper) ConfirmDeleteRemote(remoteName string, branchName string) error { func (self *BranchesHelper) ConfirmDeleteRemote(remoteBranch *models.RemoteBranch) error {
title := utils.ResolvePlaceholderString( title := utils.ResolvePlaceholderString(
self.c.Tr.DeleteBranchTitle, self.c.Tr.DeleteBranchTitle,
map[string]string{ map[string]string{
"selectedBranchName": branchName, "selectedBranchName": remoteBranch.Name,
}, },
) )
prompt := utils.ResolvePlaceholderString( prompt := utils.ResolvePlaceholderString(
self.c.Tr.DeleteRemoteBranchPrompt, self.c.Tr.DeleteRemoteBranchPrompt,
map[string]string{ map[string]string{
"selectedBranchName": branchName, "selectedBranchName": remoteBranch.Name,
"upstream": remoteName, "upstream": remoteBranch.RemoteName,
}, },
) )
self.c.Confirm(types.ConfirmOpts{ self.c.Confirm(types.ConfirmOpts{
@ -86,7 +86,7 @@ func (self *BranchesHelper) ConfirmDeleteRemote(remoteName string, branchName st
HandleConfirm: func() error { HandleConfirm: func() error {
return self.c.WithWaitingStatus(self.c.Tr.DeletingStatus, func(task gocui.Task) error { return self.c.WithWaitingStatus(self.c.Tr.DeletingStatus, func(task gocui.Task) error {
self.c.LogAction(self.c.Tr.Actions.DeleteRemoteBranch) self.c.LogAction(self.c.Tr.Actions.DeleteRemoteBranch)
if err := self.c.Git().Remote.DeleteRemoteBranch(task, remoteName, branchName); err != nil { if err := self.c.Git().Remote.DeleteRemoteBranch(task, remoteBranch.RemoteName, remoteBranch.Name); err != nil {
return err return err
} }
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.BRANCHES, types.REMOTES}}) return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: []types.RefreshableView{types.BRANCHES, types.REMOTES}})

View File

@ -133,7 +133,7 @@ func (self *RemoteBranchesController) context() *context.RemoteBranchesContext {
} }
func (self *RemoteBranchesController) delete(selectedBranch *models.RemoteBranch) error { func (self *RemoteBranchesController) delete(selectedBranch *models.RemoteBranch) error {
return self.c.Helpers().BranchesHelper.ConfirmDeleteRemote(selectedBranch.RemoteName, selectedBranch.Name) return self.c.Helpers().BranchesHelper.ConfirmDeleteRemote(selectedBranch)
} }
func (self *RemoteBranchesController) merge(selectedBranch *models.RemoteBranch) error { func (self *RemoteBranchesController) merge(selectedBranch *models.RemoteBranch) error {