diff --git a/pkg/commands/git_commands/commit_loader_test.go b/pkg/commands/git_commands/commit_loader_test.go index 73cae73a2..631270abc 100644 --- a/pkg/commands/git_commands/commit_loader_test.go +++ b/pkg/commands/git_commands/commit_loader_test.go @@ -487,7 +487,7 @@ func TestCommitLoader_getConflictedCommitImpl(t *testing.T) { builder := &CommitLoader{ Common: common, cmd: oscommands.NewDummyCmdObjBuilder(oscommands.NewFakeRunner(t)), - getWorkingTreeState: func() enums.RebaseMode { return enums.REBASE_MODE_INTERACTIVE }, + getWorkingTreeState: func() enums.RebaseMode { return enums.REBASE_MODE_REBASING }, dotGitDir: ".git", readFile: func(filename string) ([]byte, error) { return []byte(""), nil diff --git a/pkg/commands/git_commands/status.go b/pkg/commands/git_commands/status.go index 0e0ef37fc..ff1499ec9 100644 --- a/pkg/commands/git_commands/status.go +++ b/pkg/commands/git_commands/status.go @@ -20,24 +20,9 @@ func NewStatusCommands( } } -// RebaseMode returns "" for non-rebase mode, "normal" for normal rebase -// and "interactive" for interactive rebase -func (self *StatusCommands) RebaseMode() (enums.RebaseMode, error) { - ok, err := self.IsInNormalRebase() - if err == nil && ok { - return enums.REBASE_MODE_NORMAL, nil - } - ok, err = self.IsInInteractiveRebase() - if err == nil && ok { - return enums.REBASE_MODE_INTERACTIVE, err - } - - return enums.REBASE_MODE_NONE, err -} - func (self *StatusCommands) WorkingTreeState() enums.RebaseMode { - rebaseMode, _ := self.RebaseMode() - if rebaseMode != enums.REBASE_MODE_NONE { + isInRebase, _ := self.IsInRebase() + if isInRebase { return enums.REBASE_MODE_REBASING } merging, _ := self.IsInMergeState() @@ -51,14 +36,14 @@ func (self *StatusCommands) IsBareRepo() bool { return self.repoPaths.isBareRepo } -func (self *StatusCommands) IsInNormalRebase() (bool, error) { +func (self *StatusCommands) IsInRebase() (bool, error) { + exists, err := self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "rebase-merge")) + if err == nil && exists { + return true, nil + } return self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "rebase-apply")) } -func (self *StatusCommands) IsInInteractiveRebase() (bool, error) { - return self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "rebase-merge")) -} - // IsInMergeState states whether we are still mid-merge func (self *StatusCommands) IsInMergeState() (bool, error) { return self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "MERGE_HEAD")) diff --git a/pkg/commands/types/enums/enums.go b/pkg/commands/types/enums/enums.go index 68a29d8f0..790cb1f5c 100644 --- a/pkg/commands/types/enums/enums.go +++ b/pkg/commands/types/enums/enums.go @@ -5,10 +5,6 @@ type RebaseMode int const ( // this means we're neither rebasing nor merging REBASE_MODE_NONE RebaseMode = iota - // this means normal rebase as opposed to interactive rebase - REBASE_MODE_NORMAL - REBASE_MODE_INTERACTIVE - // REBASE_MODE_REBASING is a general state that captures both REBASE_MODE_NORMAL and REBASE_MODE_INTERACTIVE REBASE_MODE_REBASING REBASE_MODE_MERGING ) @@ -18,5 +14,5 @@ func (self RebaseMode) IsMerging() bool { } func (self RebaseMode) IsRebasing() bool { - return self == REBASE_MODE_INTERACTIVE || self == REBASE_MODE_NORMAL || self == REBASE_MODE_REBASING + return self == REBASE_MODE_REBASING } diff --git a/pkg/gui/controllers/helpers/cherry_pick_helper.go b/pkg/gui/controllers/helpers/cherry_pick_helper.go index 47108df16..1cb2285d0 100644 --- a/pkg/gui/controllers/helpers/cherry_pick_helper.go +++ b/pkg/gui/controllers/helpers/cherry_pick_helper.go @@ -77,7 +77,7 @@ func (self *CherryPickHelper) Paste() error { "numCommits": strconv.Itoa(len(self.getData().CherryPickedCommits)), }), HandleConfirm: func() error { - isInRebase, err := self.c.Git().Status.IsInInteractiveRebase() + isInRebase, err := self.c.Git().Status.IsInRebase() if err != nil { return err } @@ -107,7 +107,7 @@ func (self *CherryPickHelper) Paste() error { // be because there were conflicts. Don't clear the copied // commits in this case, since we might want to abort and // try pasting them again. - isInRebase, err = self.c.Git().Status.IsInInteractiveRebase() + isInRebase, err = self.c.Git().Status.IsInRebase() if err != nil { return err }