mirror of
				https://github.com/jesseduffield/lazygit.git
				synced 2025-10-30 23:57:43 +02:00 
			
		
		
		
	Add StatusCommands.IsInNormalRebase and IsInInteractiveRebase
... and implement RebaseMode in terms of these.
This commit is contained in:
		| @@ -25,19 +25,16 @@ func NewStatusCommands( | ||||
| // RebaseMode returns "" for non-rebase mode, "normal" for normal rebase | ||||
| // and "interactive" for interactive rebase | ||||
| func (self *StatusCommands) RebaseMode() (enums.RebaseMode, error) { | ||||
| 	exists, err := self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "rebase-apply")) | ||||
| 	if err != nil { | ||||
| 		return enums.REBASE_MODE_NONE, err | ||||
| 	} | ||||
| 	if exists { | ||||
| 	ok, err := self.IsInNormalRebase() | ||||
| 	if err == nil && ok { | ||||
| 		return enums.REBASE_MODE_NORMAL, nil | ||||
| 	} | ||||
| 	exists, err = self.os.FileExists(filepath.Join(self.repoPaths.WorktreeGitDirPath(), "rebase-merge")) | ||||
| 	if exists { | ||||
| 	ok, err = self.IsInInteractiveRebase() | ||||
| 	if err == nil && ok { | ||||
| 		return enums.REBASE_MODE_INTERACTIVE, err | ||||
| 	} else { | ||||
| 		return enums.REBASE_MODE_NONE, err | ||||
| 	} | ||||
|  | ||||
| 	return enums.REBASE_MODE_NONE, err | ||||
| } | ||||
|  | ||||
| func (self *StatusCommands) WorkingTreeState() enums.RebaseMode { | ||||
| @@ -68,6 +65,14 @@ func IsBareRepo(osCommand *oscommands.OSCommand) (bool, error) { | ||||
| 	return strconv.ParseBool(strings.TrimSpace(res)) | ||||
| } | ||||
|  | ||||
| func (self *StatusCommands) IsInNormalRebase() (bool, error) { | ||||
| 	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")) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user