Compare commits

...

1 Commits

Author SHA1 Message Date
Jesse Duffield
29beecce4c WIP 2023-07-13 17:48:37 +10:00
3 changed files with 19 additions and 11 deletions

View File

@@ -77,11 +77,6 @@ func (self *BranchesController) GetKeybindings(opts types.KeybindingsOpts) []*ty
Handler: opts.Guards.OutsideFilterMode(self.rebase),
Description: self.c.Tr.RebaseBranch,
},
{
Key: opts.GetKey(opts.Config.Branches.MergeIntoCurrentBranch),
Handler: opts.Guards.OutsideFilterMode(self.merge),
Description: self.c.Tr.MergeIntoCurrentBranch,
},
{
Key: opts.GetKey(opts.Config.Branches.FastForward),
Handler: self.checkSelectedAndReal(self.fastForward),
@@ -333,11 +328,6 @@ func (self *BranchesController) deleteWithForce(selectedBranch *models.Branch, f
})
}
func (self *BranchesController) merge() error {
selectedBranchName := self.context().GetSelected().Name
return self.c.Helpers().MergeAndRebase.MergeRefIntoCheckedOutBranch(selectedBranchName)
}
func (self *BranchesController) rebase() error {
selectedBranchName := self.context().GetSelected().Name
return self.c.Helpers().MergeAndRebase.RebaseOntoRef(selectedBranchName)

View File

@@ -34,7 +34,7 @@ func (self *GlobalController) GetKeybindings(opts types.KeybindingsOpts) []*type
},
{
Key: opts.GetKey(opts.Config.Universal.CreateRebaseOptionsMenu),
Handler: self.c.Helpers().MergeAndRebase.CreateRebaseOptionsMenu,
Handler: self.c.Helpers().MergeAndRebase.CreateMergeRebaseOptionsMenu,
Description: self.c.Tr.ViewMergeRebaseOptions,
OpensMenu: true,
},

View File

@@ -7,6 +7,7 @@ import (
"github.com/jesseduffield/generics/slices"
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
"github.com/jesseduffield/lazygit/pkg/commands/types/enums"
"github.com/jesseduffield/lazygit/pkg/gui/context"
"github.com/jesseduffield/lazygit/pkg/gui/types"
"github.com/jesseduffield/lazygit/pkg/utils"
)
@@ -34,6 +35,23 @@ const (
REBASE_OPTION_SKIP string = "skip"
)
func (self *MergeAndRebaseHelper) CreateMergeRebaseOptionsMenu() error {
if self.c.Git().Status.WorkingTreeState() != enums.REBASE_MODE_NONE {
return self.CreateRebaseOptionsMenu()
}
currentContext := self.c.CurrentContext()
if currentContext.GetKey() != context.LOCAL_BRANCHES_CONTEXT_KEY {
return self.c.ErrorMsg("Not currently merging/rebasing")
}
branchesContext := currentContext.(*context.BranchesContext)
// TODO: handle filter mode (see OutsideFilterMode)
selectedBranchName := branchesContext.GetSelected().Name
return self.MergeRefIntoCheckedOutBranch(selectedBranchName)
}
func (self *MergeAndRebaseHelper) CreateRebaseOptionsMenu() error {
type optionAndKey struct {
option string