Skip to content

Commit 1a73697

Browse files
committed
Simplify the RebaseMode enum
- Remove REBASE_MODE_NORMAL. It is not the "normal" mode anyway, rather a legacy mode; we have removed support for it in eb0f7e3, so there's no point in representing it in the enum. - Remove distinction between REBASE_MODE_REBASING and REBASE_MODE_INTERACTIVE; these are the same now. - Rename StatusCommands.IsInInteractiveRebase to IsInRebase. - Remove StatusCommands.RebaseMode; use StatusCommands.IsInRebase instead.
1 parent 37f8352 commit 1a73697

File tree

4 files changed

+11
-30
lines changed

4 files changed

+11
-30
lines changed

pkg/commands/git_commands/commit_loader_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ func TestCommitLoader_getConflictedCommitImpl(t *testing.T) {
487487
builder := &CommitLoader{
488488
Common: common,
489489
cmd: oscommands.NewDummyCmdObjBuilder(oscommands.NewFakeRunner(t)),
490-
getWorkingTreeState: func() enums.RebaseMode { return enums.REBASE_MODE_INTERACTIVE },
490+
getWorkingTreeState: func() enums.RebaseMode { return enums.REBASE_MODE_REBASING },
491491
dotGitDir: ".git",
492492
readFile: func(filename string) ([]byte, error) {
493493
return []byte(""), nil

pkg/commands/git_commands/status.go

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,9 @@ func NewStatusCommands(
2020
}
2121
}
2222

23-
// RebaseMode returns "" for non-rebase mode, "normal" for normal rebase
24-
// and "interactive" for interactive rebase
25-
func (self *StatusCommands) RebaseMode() (enums.RebaseMode, error) {
26-
ok, err := self.IsInNormalRebase()
27-
if err == nil && ok {
28-
return enums.REBASE_MODE_NORMAL, nil
29-
}
30-
ok, err = self.IsInInteractiveRebase()
31-
if err == nil && ok {
32-
return enums.REBASE_MODE_INTERACTIVE, err
33-
}
34-
35-
return enums.REBASE_MODE_NONE, err
36-
}
37-
3823
func (self *StatusCommands) WorkingTreeState() enums.RebaseMode {
39-
rebaseMode, _ := self.RebaseMode()
40-
if rebaseMode != enums.REBASE_MODE_NONE {
24+
isInRebase, _ := self.IsInRebase()
25+
if isInRebase {
4126
return enums.REBASE_MODE_REBASING
4227
}
4328
merging, _ := self.IsInMergeState()
@@ -51,14 +36,14 @@ func (self *StatusCommands) IsBareRepo() bool {
5136
return self.repoPaths.isBareRepo
5237
}
5338

54-
func (self *StatusCommands) IsInNormalRebase() (bool, error) {
39+
func (self *StatusCommands) IsInRebase() (bool, error) {
40+
exists, err := self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "rebase-merge"))
41+
if err == nil && exists {
42+
return true, nil
43+
}
5544
return self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "rebase-apply"))
5645
}
5746

58-
func (self *StatusCommands) IsInInteractiveRebase() (bool, error) {
59-
return self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "rebase-merge"))
60-
}
61-
6247
// IsInMergeState states whether we are still mid-merge
6348
func (self *StatusCommands) IsInMergeState() (bool, error) {
6449
return self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "MERGE_HEAD"))

pkg/commands/types/enums/enums.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@ type RebaseMode int
55
const (
66
// this means we're neither rebasing nor merging
77
REBASE_MODE_NONE RebaseMode = iota
8-
// this means normal rebase as opposed to interactive rebase
9-
REBASE_MODE_NORMAL
10-
REBASE_MODE_INTERACTIVE
11-
// REBASE_MODE_REBASING is a general state that captures both REBASE_MODE_NORMAL and REBASE_MODE_INTERACTIVE
128
REBASE_MODE_REBASING
139
REBASE_MODE_MERGING
1410
)
@@ -18,5 +14,5 @@ func (self RebaseMode) IsMerging() bool {
1814
}
1915

2016
func (self RebaseMode) IsRebasing() bool {
21-
return self == REBASE_MODE_INTERACTIVE || self == REBASE_MODE_NORMAL || self == REBASE_MODE_REBASING
17+
return self == REBASE_MODE_REBASING
2218
}

pkg/gui/controllers/helpers/cherry_pick_helper.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func (self *CherryPickHelper) Paste() error {
7777
"numCommits": strconv.Itoa(len(self.getData().CherryPickedCommits)),
7878
}),
7979
HandleConfirm: func() error {
80-
isInRebase, err := self.c.Git().Status.IsInInteractiveRebase()
80+
isInRebase, err := self.c.Git().Status.IsInRebase()
8181
if err != nil {
8282
return err
8383
}
@@ -107,7 +107,7 @@ func (self *CherryPickHelper) Paste() error {
107107
// be because there were conflicts. Don't clear the copied
108108
// commits in this case, since we might want to abort and
109109
// try pasting them again.
110-
isInRebase, err = self.c.Git().Status.IsInInteractiveRebase()
110+
isInRebase, err = self.c.Git().Status.IsInRebase()
111111
if err != nil {
112112
return err
113113
}

0 commit comments

Comments
 (0)