diff --git a/pkg/gui/controllers/helpers/merge_and_rebase_helper.go b/pkg/gui/controllers/helpers/merge_and_rebase_helper.go index 0e63c516f..3f2ced17e 100644 --- a/pkg/gui/controllers/helpers/merge_and_rebase_helper.go +++ b/pkg/gui/controllers/helpers/merge_and_rebase_helper.go @@ -138,6 +138,8 @@ var conflictStrings = []string{ "fix conflicts", "Resolve all conflicts manually", "Merge conflict in file", + "hint: after resolving the conflicts", + "CONFLICT (content):", } func isMergeConflictErr(errStr string) bool { diff --git a/pkg/gui/controllers/local_commits_controller.go b/pkg/gui/controllers/local_commits_controller.go index 260f42cf7..0b1b81e72 100644 --- a/pkg/gui/controllers/local_commits_controller.go +++ b/pkg/gui/controllers/local_commits_controller.go @@ -868,7 +868,8 @@ 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 { - if err := self.c.Git().Commit.Revert(commit.Hash); err != nil { + result := self.c.Git().Commit.Revert(commit.Hash) + if err := self.c.Helpers().MergeAndRebase.CheckMergeOrRebase(result); err != nil { return err } return self.afterRevertCommit() diff --git a/pkg/integration/tests/commit/revert_with_conflict_single_commit.go b/pkg/integration/tests/commit/revert_with_conflict_single_commit.go index 9762e1f49..949bf4b34 100644 --- a/pkg/integration/tests/commit/revert_with_conflict_single_commit.go +++ b/pkg/integration/tests/commit/revert_with_conflict_single_commit.go @@ -33,11 +33,9 @@ var RevertWithConflictSingleCommit = NewIntegrationTest(NewIntegrationTestArgs{ Title(Equals("Revert commit")). Content(MatchesRegexp(`Are you sure you want to revert \w+?`)). Confirm() - t.ExpectPopup().Alert(). - Title(Equals("Error")). - // The exact error message is different on different git versions, - // but they all contain the word 'conflict' somewhere. - Content(Contains("conflict")). + t.ExpectPopup().Menu(). + Title(Equals("Conflicts!")). + Select(Contains("View conflicts")). Confirm() }). Lines( @@ -56,7 +54,7 @@ var RevertWithConflictSingleCommit = NewIntegrationTest(NewIntegrationTestArgs{ t.Views().Options().Content(Contains("View revert options: m")) t.Views().Information().Content(Contains("Reverting (Reset)")) - t.Views().Files().Focus(). + t.Views().Files().IsFocused(). Lines( Contains("UU myfile").IsSelected(), ).