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 {
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 {

View File

@ -66,18 +66,18 @@ func (self *BranchesHelper) ConfirmLocalDelete(branch *models.Branch) error {
return nil
}
func (self *BranchesHelper) ConfirmDeleteRemote(remoteName string, branchName string) error {
func (self *BranchesHelper) ConfirmDeleteRemote(remoteBranch *models.RemoteBranch) error {
title := utils.ResolvePlaceholderString(
self.c.Tr.DeleteBranchTitle,
map[string]string{
"selectedBranchName": branchName,
"selectedBranchName": remoteBranch.Name,
},
)
prompt := utils.ResolvePlaceholderString(
self.c.Tr.DeleteRemoteBranchPrompt,
map[string]string{
"selectedBranchName": branchName,
"upstream": remoteName,
"selectedBranchName": remoteBranch.Name,
"upstream": remoteBranch.RemoteName,
},
)
self.c.Confirm(types.ConfirmOpts{
@ -86,7 +86,7 @@ func (self *BranchesHelper) ConfirmDeleteRemote(remoteName string, branchName st
HandleConfirm: func() error {
return self.c.WithWaitingStatus(self.c.Tr.DeletingStatus, func(task gocui.Task) error {
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 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 {
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 {