From dc795b5db7f3849a224c23adbed490fce669ccb7 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Wed, 2 Jul 2025 18:36:31 +0200 Subject: [PATCH] Remove unnecessary refresh CheckMergeOrRebase calls Refresh already. However, it does an async refresh by default, so we must turn this into a sync refresh so that moving the selection down by one works even for the very first commit in history. Also, we must add an explicit call to FocusLine so that the view selection is in sync with the model selection; previously this was taken care of by the PostRefreshUpdate call that happens as part of a refresh. --- pkg/gui/controllers/local_commits_controller.go | 6 ++---- pkg/integration/tests/commit/revert.go | 7 ++++--- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/pkg/gui/controllers/local_commits_controller.go b/pkg/gui/controllers/local_commits_controller.go index 4a1209642..42059796c 100644 --- a/pkg/gui/controllers/local_commits_controller.go +++ b/pkg/gui/controllers/local_commits_controller.go @@ -874,13 +874,11 @@ func (self *LocalCommitsController) revert(commits []*models.Commit, start, end self.c.LogAction(self.c.Tr.Actions.RevertCommit) return self.c.WithWaitingStatusSync(self.c.Tr.RevertingStatus, func() error { result := self.c.Git().Commit.Revert(hashes, isMerge) - if err := self.c.Helpers().MergeAndRebase.CheckMergeOrRebase(result); err != nil { + if err := self.c.Helpers().MergeAndRebase.CheckMergeOrRebaseWithRefreshOptions(result, types.RefreshOptions{Mode: types.SYNC}); err != nil { return err } self.context().MoveSelection(len(commits)) - self.c.Refresh(types.RefreshOptions{ - Mode: types.SYNC, Scope: []types.RefreshableView{types.COMMITS, types.BRANCHES}, - }) + self.context().FocusLine() return nil }) }, diff --git a/pkg/integration/tests/commit/revert.go b/pkg/integration/tests/commit/revert.go index 5bc81608f..b295abf92 100644 --- a/pkg/integration/tests/commit/revert.go +++ b/pkg/integration/tests/commit/revert.go @@ -29,9 +29,10 @@ var Revert = NewIntegrationTest(NewIntegrationTestArgs{ Confirm() }). Lines( - Contains("Revert \"first commit\"").IsSelected(), - Contains("first commit"), - ) + Contains("Revert \"first commit\""), + Contains("first commit").IsSelected(), + ). + SelectPreviousItem() t.Views().Main().Content(Contains("-myfile content")) t.FileSystem().PathNotPresent("myfile")