Store WorkingTreeState in model

This is the working tree state at the time the model commits were loaded. This
avoids a visual glitch with the "You Are Here" label appearing at times when it
is not supposed to.
This commit is contained in:
Stefan Haller 2023-02-27 09:27:33 +01:00
parent 6af8f278d0
commit de3e4838ad
3 changed files with 8 additions and 4 deletions

View file

@ -120,7 +120,7 @@ func (gui *Gui) branchCommitsListContext() *context.LocalCommitsContext {
}
}
showYouAreHereLabel := gui.git.Status.WorkingTreeState() == enums.REBASE_MODE_REBASING
showYouAreHereLabel := gui.State.Model.WorkingTreeStateAtLastCommitRefresh == enums.REBASE_MODE_REBASING
return presentation.GetCommitListDisplayStrings(
gui.Common,

View file

@ -236,6 +236,7 @@ func (gui *Gui) refreshCommitsWithLimit() error {
return err
}
gui.State.Model.Commits = commits
gui.State.Model.WorkingTreeStateAtLastCommitRefresh = gui.git.Status.WorkingTreeState()
return gui.c.PostRefreshUpdate(gui.State.Contexts.LocalCommits)
}
@ -264,6 +265,7 @@ func (gui *Gui) refreshRebaseCommits() error {
return err
}
gui.State.Model.Commits = updatedCommits
gui.State.Model.WorkingTreeStateAtLastCommitRefresh = gui.git.Status.WorkingTreeState()
return gui.c.PostRefreshUpdate(gui.State.Contexts.LocalCommits)
}

View file

@ -4,6 +4,7 @@ import (
"github.com/jesseduffield/lazygit/pkg/commands/git_commands"
"github.com/jesseduffield/lazygit/pkg/commands/models"
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
"github.com/jesseduffield/lazygit/pkg/commands/types/enums"
"github.com/jesseduffield/lazygit/pkg/common"
"github.com/jesseduffield/lazygit/pkg/config"
"github.com/sasha-s/go-deadlock"
@ -154,9 +155,10 @@ type Model struct {
// one and the same
ReflogCommits []*models.Commit
BisectInfo *git_commands.BisectInfo
RemoteBranches []*models.RemoteBranch
Tags []*models.Tag
BisectInfo *git_commands.BisectInfo
WorkingTreeStateAtLastCommitRefresh enums.RebaseMode
RemoteBranches []*models.RemoteBranch
Tags []*models.Tag
// for displaying suggestions while typing in a file name
FilesTrie *patricia.Trie