1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-08-10 22:42:00 +02:00

Changes as per review

This commit is contained in:
glendsoza
2022-01-24 19:00:26 +05:30
committed by Jesse Duffield
parent 0c6bdac2f7
commit 0caa391c4d

View File

@@ -466,6 +466,9 @@ func (gui *Gui) handleCommitRevert() error {
return err return err
} }
commit := gui.getSelectedLocalCommit() commit := gui.getSelectedLocalCommit()
if commit.IsMerge() {
return gui.createRevertMergeCommitMenu(commit)
} else {
return gui.ask(askOpts{ return gui.ask(askOpts{
title: gui.Tr.Actions.RevertCommit, title: gui.Tr.Actions.RevertCommit,
prompt: utils.ResolvePlaceholderString( prompt: utils.ResolvePlaceholderString(
@@ -474,19 +477,15 @@ func (gui *Gui) handleCommitRevert() error {
"selectedCommit": commit.ShortSha(), "selectedCommit": commit.ShortSha(),
}), }),
handleConfirm: func() error { handleConfirm: func() error {
if commit.IsMerge() {
return gui.createRevertMergeCommitMenu(commit)
} else {
gui.logAction(gui.Tr.Actions.RevertCommit) gui.logAction(gui.Tr.Actions.RevertCommit)
if err := gui.Git.Commit.Revert(commit.Sha); err != nil { if err := gui.Git.Commit.Revert(commit.Sha); err != nil {
return gui.surfaceError(err) return gui.surfaceError(err)
} }
return gui.afterRevertCommit() return gui.afterRevertCommit()
}
}, },
}) })
} }
}
func (gui *Gui) createRevertMergeCommitMenu(commit *models.Commit) error { func (gui *Gui) createRevertMergeCommitMenu(commit *models.Commit) error {
menuItems := make([]*menuItem, len(commit.Parents)) menuItems := make([]*menuItem, len(commit.Parents))
@@ -496,31 +495,17 @@ func (gui *Gui) createRevertMergeCommitMenu(commit *models.Commit) error {
if err != nil { if err != nil {
return gui.surfaceError(err) return gui.surfaceError(err)
} }
parentShortSha := utils.SafeTruncate(parentSha, 8)
menuItems[i] = &menuItem{ menuItems[i] = &menuItem{
displayString: fmt.Sprintf("%s: %s", parentShortSha, message), displayString: fmt.Sprintf("%s: %s", utils.SafeTruncate(parentSha, 8), message),
onPress: func() error { onPress: func() error {
parentNumber := i + 1 parentNumber := i + 1
gui.logAction(gui.Tr.Actions.RevertCommit) gui.logAction(gui.Tr.Actions.RevertCommit)
gui.ask(askOpts{
title: gui.Tr.SelectParentCommitForMerge,
prompt: utils.ResolvePlaceholderString(
"Are you sure you want use {{.selectedParentCommit}} as parent commit?",
map[string]string{
"selectedParentCommit": parentShortSha,
}),
handleConfirm: func() error {
if err := gui.Git.Commit.RevertMerge(commit.Sha, parentNumber); err != nil { if err := gui.Git.Commit.RevertMerge(commit.Sha, parentNumber); err != nil {
return gui.surfaceError(err) return gui.surfaceError(err)
} }
return gui.afterRevertCommit() return gui.afterRevertCommit()
}, },
handleClose: func() error {
return gui.pushContext(gui.State.Contexts.Menu)
},
})
return nil
},
} }
} }