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

Remove the "Select parent commit" prompt when reverting a merge commit

In pretty much 100% of the cases, you want to use -m1, so spare users the
complexity of a confusing prompt.

See
https://public-inbox.org/git/e60a8b1a-98c8-4ac7-b966-ff9635bb781d@haller-berlin.de/
for some discussion.
This commit is contained in:
Stefan Haller
2025-03-30 11:54:40 +02:00
parent c13c6356e3
commit f14a3cdd46
4 changed files with 12 additions and 51 deletions

View File

@ -1,7 +1,6 @@
package controllers
import (
"fmt"
"strings"
"github.com/go-errors/errors"
@ -859,10 +858,6 @@ func (self *LocalCommitsController) addCoAuthor(start, end int) error {
}
func (self *LocalCommitsController) revert(commit *models.Commit) error {
if commit.IsMerge() {
return self.createRevertMergeCommitMenu(commit)
}
self.c.Confirm(types.ConfirmOpts{
Title: self.c.Tr.Actions.RevertCommit,
Prompt: utils.ResolvePlaceholderString(
@ -873,7 +868,7 @@ func (self *LocalCommitsController) revert(commit *models.Commit) error {
HandleConfirm: func() error {
self.c.LogAction(self.c.Tr.Actions.RevertCommit)
return self.c.WithWaitingStatusSync(self.c.Tr.RevertingStatus, func() error {
result := self.c.Git().Commit.Revert(commit.Hash)
result := self.c.Git().Commit.Revert(commit.Hash, commit.IsMerge())
if err := self.c.Helpers().MergeAndRebase.CheckMergeOrRebase(result); err != nil {
return err
}
@ -885,32 +880,6 @@ func (self *LocalCommitsController) revert(commit *models.Commit) error {
return nil
}
func (self *LocalCommitsController) createRevertMergeCommitMenu(commit *models.Commit) error {
menuItems := make([]*types.MenuItem, len(commit.Parents))
for i, parentHash := range commit.Parents {
message, err := self.c.Git().Commit.GetCommitMessageFirstLine(parentHash)
if err != nil {
return err
}
menuItems[i] = &types.MenuItem{
Label: fmt.Sprintf("%s: %s", utils.SafeTruncate(parentHash, 8), message),
OnPress: func() error {
parentNumber := i + 1
self.c.LogAction(self.c.Tr.Actions.RevertCommit)
return self.c.WithWaitingStatusSync(self.c.Tr.RevertingStatus, func() error {
if err := self.c.Git().Commit.RevertMerge(commit.Hash, parentNumber); err != nil {
return err
}
return self.afterRevertCommit()
})
},
}
}
return self.c.Menu(types.CreateMenuOptions{Title: self.c.Tr.SelectParentCommitForMerge, Items: menuItems})
}
func (self *LocalCommitsController) afterRevertCommit() error {
self.context().MoveSelection(1)
return self.c.Refresh(types.RefreshOptions{