1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-06-15 00:15:32 +02:00

Rename RebaseMode to WorkingTreeState

We're about to add more possible values (reverting and cherry-picking), so
working tree state seems like a more suitable name.
This commit is contained in:
Stefan Haller
2024-06-10 17:36:34 +02:00
parent 1a73697546
commit cd36e95a82
17 changed files with 50 additions and 50 deletions

View File

@ -31,7 +31,7 @@ type CommitLoader struct {
*common.Common *common.Common
cmd oscommands.ICmdObjBuilder cmd oscommands.ICmdObjBuilder
getWorkingTreeState func() enums.RebaseMode getWorkingTreeState func() enums.WorkingTreeState
readFile func(filename string) ([]byte, error) readFile func(filename string) ([]byte, error)
walkFiles func(root string, fn filepath.WalkFunc) error walkFiles func(root string, fn filepath.WalkFunc) error
dotGitDir string dotGitDir string
@ -42,7 +42,7 @@ type CommitLoader struct {
func NewCommitLoader( func NewCommitLoader(
cmn *common.Common, cmn *common.Common,
cmd oscommands.ICmdObjBuilder, cmd oscommands.ICmdObjBuilder,
getWorkingTreeState func() enums.RebaseMode, getWorkingTreeState func() enums.WorkingTreeState,
gitCommon *GitCommon, gitCommon *GitCommon,
) *CommitLoader { ) *CommitLoader {
return &CommitLoader{ return &CommitLoader{

View File

@ -304,7 +304,7 @@ func TestGetCommits(t *testing.T) {
builder := &CommitLoader{ builder := &CommitLoader{
Common: common, Common: common,
cmd: cmd, cmd: cmd,
getWorkingTreeState: func() enums.RebaseMode { return enums.REBASE_MODE_NONE }, getWorkingTreeState: func() enums.WorkingTreeState { return enums.WORKING_TREE_STATE_NONE },
dotGitDir: ".git", dotGitDir: ".git",
readFile: func(filename string) ([]byte, error) { readFile: func(filename string) ([]byte, error) {
return []byte(""), nil return []byte(""), nil
@ -487,7 +487,7 @@ func TestCommitLoader_getConflictedCommitImpl(t *testing.T) {
builder := &CommitLoader{ builder := &CommitLoader{
Common: common, Common: common,
cmd: oscommands.NewDummyCmdObjBuilder(oscommands.NewFakeRunner(t)), cmd: oscommands.NewDummyCmdObjBuilder(oscommands.NewFakeRunner(t)),
getWorkingTreeState: func() enums.RebaseMode { return enums.REBASE_MODE_REBASING }, getWorkingTreeState: func() enums.WorkingTreeState { return enums.WORKING_TREE_STATE_REBASING },
dotGitDir: ".git", dotGitDir: ".git",
readFile: func(filename string) ([]byte, error) { readFile: func(filename string) ([]byte, error) {
return []byte(""), nil return []byte(""), nil

View File

@ -229,7 +229,7 @@ func (self *PatchCommands) MovePatchIntoIndex(commits []*models.Commit, commitId
} }
if err := self.ApplyCustomPatch(true, true); err != nil { if err := self.ApplyCustomPatch(true, true); err != nil {
if self.status.WorkingTreeState() == enums.REBASE_MODE_REBASING { if self.status.WorkingTreeState() == enums.WORKING_TREE_STATE_REBASING {
_ = self.rebase.AbortRebase() _ = self.rebase.AbortRebase()
} }
return err return err
@ -253,7 +253,7 @@ func (self *PatchCommands) MovePatchIntoIndex(commits []*models.Commit, commitId
self.rebase.onSuccessfulContinue = func() error { self.rebase.onSuccessfulContinue = func() error {
// add patches to index // add patches to index
if err := self.ApplyPatch(patch, ApplyPatchOpts{Index: true, ThreeWay: true}); err != nil { if err := self.ApplyPatch(patch, ApplyPatchOpts{Index: true, ThreeWay: true}); err != nil {
if self.status.WorkingTreeState() == enums.REBASE_MODE_REBASING { if self.status.WorkingTreeState() == enums.WORKING_TREE_STATE_REBASING {
_ = self.rebase.AbortRebase() _ = self.rebase.AbortRebase()
} }
return err return err

View File

@ -20,16 +20,16 @@ func NewStatusCommands(
} }
} }
func (self *StatusCommands) WorkingTreeState() enums.RebaseMode { func (self *StatusCommands) WorkingTreeState() enums.WorkingTreeState {
isInRebase, _ := self.IsInRebase() isInRebase, _ := self.IsInRebase()
if isInRebase { if isInRebase {
return enums.REBASE_MODE_REBASING return enums.WORKING_TREE_STATE_REBASING
} }
merging, _ := self.IsInMergeState() merging, _ := self.IsInMergeState()
if merging { if merging {
return enums.REBASE_MODE_MERGING return enums.WORKING_TREE_STATE_MERGING
} }
return enums.REBASE_MODE_NONE return enums.WORKING_TREE_STATE_NONE
} }
func (self *StatusCommands) IsBareRepo() bool { func (self *StatusCommands) IsBareRepo() bool {

View File

@ -1,18 +1,18 @@
package enums package enums
type RebaseMode int type WorkingTreeState int
const ( const (
// this means we're neither rebasing nor merging // this means we're neither rebasing nor merging
REBASE_MODE_NONE RebaseMode = iota WORKING_TREE_STATE_NONE WorkingTreeState = iota
REBASE_MODE_REBASING WORKING_TREE_STATE_REBASING
REBASE_MODE_MERGING WORKING_TREE_STATE_MERGING
) )
func (self RebaseMode) IsMerging() bool { func (self WorkingTreeState) IsMerging() bool {
return self == REBASE_MODE_MERGING return self == WORKING_TREE_STATE_MERGING
} }
func (self RebaseMode) IsRebasing() bool { func (self WorkingTreeState) IsRebasing() bool {
return self == REBASE_MODE_REBASING return self == WORKING_TREE_STATE_REBASING
} }

View File

@ -41,7 +41,7 @@ func NewLocalCommitsContext(c *ContextCommon) *LocalCommitsContext {
} }
} }
showYouAreHereLabel := c.Model().WorkingTreeStateAtLastCommitRefresh == enums.REBASE_MODE_REBASING showYouAreHereLabel := c.Model().WorkingTreeStateAtLastCommitRefresh == enums.WORKING_TREE_STATE_REBASING
hasRebaseUpdateRefsConfig := c.Git().Config.GetRebaseUpdateRefs() hasRebaseUpdateRefsConfig := c.Git().Config.GetRebaseUpdateRefs()
return presentation.GetCommitListDisplayStrings( return presentation.GetCommitListDisplayStrings(

View File

@ -44,7 +44,7 @@ func (self *CustomPatchOptionsMenuAction) Call() error {
}, },
} }
if self.c.Git().Patch.PatchBuilder.CanRebase && self.c.Git().Status.WorkingTreeState() == enums.REBASE_MODE_NONE { if self.c.Git().Patch.PatchBuilder.CanRebase && self.c.Git().Status.WorkingTreeState() == enums.WORKING_TREE_STATE_NONE {
menuItems = append(menuItems, []*types.MenuItem{ menuItems = append(menuItems, []*types.MenuItem{
{ {
Label: fmt.Sprintf(self.c.Tr.RemovePatchFromOriginalCommit, self.c.Git().Patch.PatchBuilder.To), Label: fmt.Sprintf(self.c.Tr.RemovePatchFromOriginalCommit, self.c.Git().Patch.PatchBuilder.To),
@ -115,7 +115,7 @@ func (self *CustomPatchOptionsMenuAction) getPatchCommitIndex() int {
} }
func (self *CustomPatchOptionsMenuAction) validateNormalWorkingTreeState() (bool, error) { func (self *CustomPatchOptionsMenuAction) validateNormalWorkingTreeState() (bool, error) {
if self.c.Git().Status.WorkingTreeState() != enums.REBASE_MODE_NONE { if self.c.Git().Status.WorkingTreeState() != enums.WORKING_TREE_STATE_NONE {
return false, errors.New(self.c.Tr.CantPatchWhileRebasingError) return false, errors.New(self.c.Tr.CantPatchWhileRebasingError)
} }
return true, nil return true, nil

View File

@ -51,7 +51,7 @@ func (self *MergeAndRebaseHelper) CreateRebaseOptionsMenu() error {
{option: REBASE_OPTION_ABORT, key: 'a'}, {option: REBASE_OPTION_ABORT, key: 'a'},
} }
if self.c.Git().Status.WorkingTreeState() == enums.REBASE_MODE_REBASING { if self.c.Git().Status.WorkingTreeState() == enums.WORKING_TREE_STATE_REBASING {
options = append(options, optionAndKey{ options = append(options, optionAndKey{
option: REBASE_OPTION_SKIP, key: 's', option: REBASE_OPTION_SKIP, key: 's',
}) })
@ -68,7 +68,7 @@ func (self *MergeAndRebaseHelper) CreateRebaseOptionsMenu() error {
}) })
var title string var title string
if self.c.Git().Status.WorkingTreeState() == enums.REBASE_MODE_MERGING { if self.c.Git().Status.WorkingTreeState() == enums.WORKING_TREE_STATE_MERGING {
title = self.c.Tr.MergeOptionsTitle title = self.c.Tr.MergeOptionsTitle
} else { } else {
title = self.c.Tr.RebaseOptionsTitle title = self.c.Tr.RebaseOptionsTitle
@ -84,12 +84,12 @@ func (self *MergeAndRebaseHelper) ContinueRebase() error {
func (self *MergeAndRebaseHelper) genericMergeCommand(command string) error { func (self *MergeAndRebaseHelper) genericMergeCommand(command string) error {
status := self.c.Git().Status.WorkingTreeState() status := self.c.Git().Status.WorkingTreeState()
if status != enums.REBASE_MODE_MERGING && status != enums.REBASE_MODE_REBASING { if status != enums.WORKING_TREE_STATE_MERGING && status != enums.WORKING_TREE_STATE_REBASING {
return errors.New(self.c.Tr.NotMergingOrRebasing) return errors.New(self.c.Tr.NotMergingOrRebasing)
} }
self.c.LogAction(fmt.Sprintf("Merge/Rebase: %s", command)) self.c.LogAction(fmt.Sprintf("Merge/Rebase: %s", command))
if status == enums.REBASE_MODE_REBASING { if status == enums.WORKING_TREE_STATE_REBASING {
todoFile, err := os.ReadFile( todoFile, err := os.ReadFile(
filepath.Join(self.c.Git().RepoPaths.WorktreeGitDirPath(), "rebase-merge/git-rebase-todo"), filepath.Join(self.c.Git().RepoPaths.WorktreeGitDirPath(), "rebase-merge/git-rebase-todo"),
) )
@ -105,9 +105,9 @@ func (self *MergeAndRebaseHelper) genericMergeCommand(command string) error {
commandType := "" commandType := ""
switch status { switch status {
case enums.REBASE_MODE_MERGING: case enums.WORKING_TREE_STATE_MERGING:
commandType = "merge" commandType = "merge"
case enums.REBASE_MODE_REBASING: case enums.WORKING_TREE_STATE_REBASING:
commandType = "rebase" commandType = "rebase"
default: default:
// shouldn't be possible to land here // shouldn't be possible to land here
@ -116,10 +116,10 @@ func (self *MergeAndRebaseHelper) genericMergeCommand(command string) error {
// we should end up with a command like 'git merge --continue' // we should end up with a command like 'git merge --continue'
// it's impossible for a rebase to require a commit so we'll use a subprocess only if it's a merge // it's impossible for a rebase to require a commit so we'll use a subprocess only if it's a merge
needsSubprocess := (status == enums.REBASE_MODE_MERGING && command != REBASE_OPTION_ABORT && self.c.UserConfig().Git.Merging.ManualCommit) || needsSubprocess := (status == enums.WORKING_TREE_STATE_MERGING && command != REBASE_OPTION_ABORT && self.c.UserConfig().Git.Merging.ManualCommit) ||
// but we'll also use a subprocess if we have exec todos; those are likely to be lengthy build // but we'll also use a subprocess if we have exec todos; those are likely to be lengthy build
// tasks whose output the user will want to see in the terminal // tasks whose output the user will want to see in the terminal
(status == enums.REBASE_MODE_REBASING && command != REBASE_OPTION_ABORT && self.hasExecTodos()) (status == enums.WORKING_TREE_STATE_REBASING && command != REBASE_OPTION_ABORT && self.hasExecTodos())
if needsSubprocess { if needsSubprocess {
// TODO: see if we should be calling more of the code from self.Git.Rebase.GenericMergeOrRebaseAction // TODO: see if we should be calling more of the code from self.Git.Rebase.GenericMergeOrRebaseAction
@ -239,9 +239,9 @@ func (self *MergeAndRebaseHelper) AbortMergeOrRebaseWithConfirm() error {
func (self *MergeAndRebaseHelper) workingTreeStateNoun() string { func (self *MergeAndRebaseHelper) workingTreeStateNoun() string {
workingTreeState := self.c.Git().Status.WorkingTreeState() workingTreeState := self.c.Git().Status.WorkingTreeState()
switch workingTreeState { switch workingTreeState {
case enums.REBASE_MODE_NONE: case enums.WORKING_TREE_STATE_NONE:
return "" return ""
case enums.REBASE_MODE_MERGING: case enums.WORKING_TREE_STATE_MERGING:
return "merge" return "merge"
default: default:
return "rebase" return "rebase"

View File

@ -116,7 +116,7 @@ func (self *ModeHelper) Statuses() []ModeStatus {
}, },
{ {
IsActive: func() bool { IsActive: func() bool {
return !self.suppressRebasingMode && self.c.Git().Status.WorkingTreeState() != enums.REBASE_MODE_NONE return !self.suppressRebasingMode && self.c.Git().Status.WorkingTreeState() != enums.WORKING_TREE_STATE_NONE
}, },
Description: func() string { Description: func() string {
workingTreeState := self.c.Git().Status.WorkingTreeState() workingTreeState := self.c.Git().Status.WorkingTreeState()

View File

@ -22,7 +22,7 @@ func NewPatchBuildingHelper(
} }
func (self *PatchBuildingHelper) ValidateNormalWorkingTreeState() (bool, error) { func (self *PatchBuildingHelper) ValidateNormalWorkingTreeState() (bool, error) {
if self.c.Git().Status.WorkingTreeState() != enums.REBASE_MODE_NONE { if self.c.Git().Status.WorkingTreeState() != enums.WORKING_TREE_STATE_NONE {
return false, errors.New(self.c.Tr.CantPatchWhileRebasingError) return false, errors.New(self.c.Tr.CantPatchWhileRebasingError)
} }
return true, nil return true, nil

View File

@ -583,7 +583,7 @@ func (self *RefreshHelper) refreshStateFiles() error {
} }
} }
if self.c.Git().Status.WorkingTreeState() != enums.REBASE_MODE_NONE && conflictFileCount == 0 && prevConflictFileCount > 0 { if self.c.Git().Status.WorkingTreeState() != enums.WORKING_TREE_STATE_NONE && conflictFileCount == 0 && prevConflictFileCount > 0 {
self.c.OnUIThread(func() error { return self.mergeAndRebaseHelper.PromptToContinueRebase() }) self.c.OnUIThread(func() error { return self.mergeAndRebaseHelper.PromptToContinueRebase() })
} }

View File

@ -682,7 +682,7 @@ func (self *LocalCommitsController) rewordEnabled(commit *models.Commit) *types.
} }
func (self *LocalCommitsController) isRebasing() bool { func (self *LocalCommitsController) isRebasing() bool {
return self.c.Model().WorkingTreeStateAtLastCommitRefresh != enums.REBASE_MODE_NONE return self.c.Model().WorkingTreeStateAtLastCommitRefresh != enums.WORKING_TREE_STATE_NONE
} }
func (self *LocalCommitsController) moveDown(selectedCommits []*models.Commit, startIdx int, endIdx int) error { func (self *LocalCommitsController) moveDown(selectedCommits []*models.Commit, startIdx int, endIdx int) error {
@ -976,7 +976,7 @@ func (self *LocalCommitsController) moveFixupCommitToOwnerStackedBranch(targetCo
return nil return nil
} }
if self.c.Git().Status.WorkingTreeState() != enums.REBASE_MODE_NONE { if self.c.Git().Status.WorkingTreeState() != enums.WORKING_TREE_STATE_NONE {
// Can't move commits while rebasing // Can't move commits while rebasing
return nil return nil
} }

View File

@ -110,7 +110,7 @@ func (self *StatusController) onClick(opts gocui.ViewMouseBindingOpts) error {
repoName := self.c.Git().RepoPaths.RepoName() repoName := self.c.Git().RepoPaths.RepoName()
workingTreeState := self.c.Git().Status.WorkingTreeState() workingTreeState := self.c.Git().Status.WorkingTreeState()
switch workingTreeState { switch workingTreeState {
case enums.REBASE_MODE_REBASING, enums.REBASE_MODE_MERGING: case enums.WORKING_TREE_STATE_REBASING, enums.WORKING_TREE_STATE_MERGING:
workingTreeStatus := fmt.Sprintf("(%s)", presentation.FormatWorkingTreeStateLower(self.c.Tr, workingTreeState)) workingTreeStatus := fmt.Sprintf("(%s)", presentation.FormatWorkingTreeStateLower(self.c.Tr, workingTreeState))
if cursorInSubstring(opts.X, upstreamStatus+" ", workingTreeStatus) { if cursorInSubstring(opts.X, upstreamStatus+" ", workingTreeStatus) {
return self.c.Helpers().MergeAndRebase.CreateRebaseOptionsMenu() return self.c.Helpers().MergeAndRebase.CreateRebaseOptionsMenu()

View File

@ -78,7 +78,7 @@ func (self *UndoController) reflogUndo() error {
undoEnvVars := []string{"GIT_REFLOG_ACTION=[lazygit undo]"} undoEnvVars := []string{"GIT_REFLOG_ACTION=[lazygit undo]"}
undoingStatus := self.c.Tr.UndoingStatus undoingStatus := self.c.Tr.UndoingStatus
if self.c.Git().Status.WorkingTreeState() == enums.REBASE_MODE_REBASING { if self.c.Git().Status.WorkingTreeState() == enums.WORKING_TREE_STATE_REBASING {
return errors.New(self.c.Tr.CantUndoWhileRebasing) return errors.New(self.c.Tr.CantUndoWhileRebasing)
} }
@ -142,7 +142,7 @@ func (self *UndoController) reflogRedo() error {
redoEnvVars := []string{"GIT_REFLOG_ACTION=[lazygit redo]"} redoEnvVars := []string{"GIT_REFLOG_ACTION=[lazygit redo]"}
redoingStatus := self.c.Tr.RedoingStatus redoingStatus := self.c.Tr.RedoingStatus
if self.c.Git().Status.WorkingTreeState() == enums.REBASE_MODE_REBASING { if self.c.Git().Status.WorkingTreeState() == enums.WORKING_TREE_STATE_REBASING {
return errors.New(self.c.Tr.CantRedoWhileRebasing) return errors.New(self.c.Tr.CantRedoWhileRebasing)
} }

View File

@ -18,7 +18,7 @@ func FormatStatus(
currentBranch *models.Branch, currentBranch *models.Branch,
itemOperation types.ItemOperation, itemOperation types.ItemOperation,
linkedWorktreeName string, linkedWorktreeName string,
workingTreeState enums.RebaseMode, workingTreeState enums.WorkingTreeState,
tr *i18n.TranslationSet, tr *i18n.TranslationSet,
userConfig *config.UserConfig, userConfig *config.UserConfig,
) string { ) string {
@ -31,7 +31,7 @@ func FormatStatus(
} }
} }
if workingTreeState != enums.REBASE_MODE_NONE { if workingTreeState != enums.WORKING_TREE_STATE_NONE {
status += style.FgYellow.Sprintf("(%s) ", FormatWorkingTreeStateLower(tr, workingTreeState)) status += style.FgYellow.Sprintf("(%s) ", FormatWorkingTreeStateLower(tr, workingTreeState))
} }

View File

@ -5,11 +5,11 @@ import (
"github.com/jesseduffield/lazygit/pkg/i18n" "github.com/jesseduffield/lazygit/pkg/i18n"
) )
func FormatWorkingTreeStateTitle(tr *i18n.TranslationSet, rebaseMode enums.RebaseMode) string { func FormatWorkingTreeStateTitle(tr *i18n.TranslationSet, workingTreeState enums.WorkingTreeState) string {
switch rebaseMode { switch workingTreeState {
case enums.REBASE_MODE_REBASING: case enums.WORKING_TREE_STATE_REBASING:
return tr.RebasingStatus return tr.RebasingStatus
case enums.REBASE_MODE_MERGING: case enums.WORKING_TREE_STATE_MERGING:
return tr.MergingStatus return tr.MergingStatus
default: default:
// should never actually display this // should never actually display this
@ -17,11 +17,11 @@ func FormatWorkingTreeStateTitle(tr *i18n.TranslationSet, rebaseMode enums.Rebas
} }
} }
func FormatWorkingTreeStateLower(tr *i18n.TranslationSet, rebaseMode enums.RebaseMode) string { func FormatWorkingTreeStateLower(tr *i18n.TranslationSet, workingTreeState enums.WorkingTreeState) string {
switch rebaseMode { switch workingTreeState {
case enums.REBASE_MODE_REBASING: case enums.WORKING_TREE_STATE_REBASING:
return tr.LowercaseRebasingStatus return tr.LowercaseRebasingStatus
case enums.REBASE_MODE_MERGING: case enums.WORKING_TREE_STATE_MERGING:
return tr.LowercaseMergingStatus return tr.LowercaseMergingStatus
default: default:
// should never actually display this // should never actually display this

View File

@ -288,7 +288,7 @@ type Model struct {
ReflogCommits []*models.Commit ReflogCommits []*models.Commit
BisectInfo *git_commands.BisectInfo BisectInfo *git_commands.BisectInfo
WorkingTreeStateAtLastCommitRefresh enums.RebaseMode WorkingTreeStateAtLastCommitRefresh enums.WorkingTreeState
RemoteBranches []*models.RemoteBranch RemoteBranches []*models.RemoteBranch
Tags []*models.Tag Tags []*models.Tag