mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-11-25 22:32:13 +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