mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-02-03 13:21:56 +02:00
Better error message when trying to amend a commit other than head during rebase
This commit is contained in:
parent
e7d0116312
commit
d508badd62
@ -452,6 +452,10 @@ func (self *LocalCommitsController) amendTo(commit *models.Commit) error {
|
||||
return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC})
|
||||
}
|
||||
|
||||
if self.git.Status.WorkingTreeState() != enums.REBASE_MODE_NONE {
|
||||
return self.c.ErrorMsg(self.c.Tr.AlreadyRebasing)
|
||||
}
|
||||
|
||||
return self.c.Confirm(types.ConfirmOpts{
|
||||
Title: self.c.Tr.AmendCommitTitle,
|
||||
Prompt: self.c.Tr.AmendCommitPrompt,
|
||||
|
@ -0,0 +1,43 @@
|
||||
package interactive_rebase
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var AmendNonHeadCommitDuringRebase = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Tries to amend a commit that is not the head while already rebasing, resulting in an error message",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.CreateNCommits(3)
|
||||
},
|
||||
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||
t.Views().Commits().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("commit 03"),
|
||||
Contains("commit 02"),
|
||||
Contains("commit 01"),
|
||||
).
|
||||
NavigateToLine(Contains("commit 02")).
|
||||
Press(keys.Universal.Edit).
|
||||
Lines(
|
||||
Contains("commit 03"),
|
||||
Contains("<-- YOU ARE HERE --- commit 02"),
|
||||
Contains("commit 01"),
|
||||
)
|
||||
|
||||
for _, commit := range []string{"commit 01", "commit 03"} {
|
||||
t.Views().Commits().
|
||||
NavigateToLine(Contains(commit)).
|
||||
Press(keys.Commits.AmendToCommit)
|
||||
|
||||
t.ExpectPopup().Alert().
|
||||
Title(Equals("Error")).
|
||||
Content(Contains("Can't perform this action during a rebase")).
|
||||
Confirm()
|
||||
}
|
||||
},
|
||||
})
|
@ -84,6 +84,7 @@ var tests = []*components.IntegrationTest{
|
||||
interactive_rebase.AmendFirstCommit,
|
||||
interactive_rebase.AmendHeadCommitDuringRebase,
|
||||
interactive_rebase.AmendMerge,
|
||||
interactive_rebase.AmendNonHeadCommitDuringRebase,
|
||||
interactive_rebase.EditFirstCommit,
|
||||
interactive_rebase.EditNonTodoCommitDuringRebase,
|
||||
interactive_rebase.FixupFirstCommit,
|
||||
|
Loading…
x
Reference in New Issue
Block a user