mirror of
				https://github.com/jesseduffield/lazygit.git
				synced 2025-10-30 23:57:43 +02:00 
			
		
		
		
	Fix lazygit getting unresponsive when pasting commits that become empty
Whenever git returns the error "The previous cherry-pick is now empty", we would previously continue the rebase; this works for rebase because it behaves the same as "git rebase --skip" in this case. That's not true for cherry-pick though; if you continue a cherry-pick where the current commit is empty, it will return the same error again, causing lazygit to be stuck in an endless loop. Fix this by skipping instead of continuing; this shouldn't make a difference for rebase, but works for cherry-pick. Theoretically we could have a similar problem for revert (if you are trying to revert a commit that has already been undone through some other means); this should then be fixed in the same way with this change. However, the change is not relevant for revert because git returns a different error in this case.
This commit is contained in:
		| @@ -157,7 +157,7 @@ func (self *MergeAndRebaseHelper) CheckMergeOrRebaseWithRefreshOptions(result er | ||||
| 	} else if strings.Contains(result.Error(), "No changes - did you forget to use") { | ||||
| 		return self.genericMergeCommand(REBASE_OPTION_SKIP) | ||||
| 	} else if strings.Contains(result.Error(), "The previous cherry-pick is now empty") { | ||||
| 		return self.genericMergeCommand(REBASE_OPTION_CONTINUE) | ||||
| 		return self.genericMergeCommand(REBASE_OPTION_SKIP) | ||||
| 	} else if strings.Contains(result.Error(), "No rebase in progress?") { | ||||
| 		// assume in this case that we're already done | ||||
| 		return nil | ||||
|   | ||||
		Reference in New Issue
	
	Block a user