mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-12-14 11:23:09 +02:00
3fe4db9316
This fixes two problems with the "amend commit with staged changes" command: 1. Amending to a fixup commit didn't work (this would create a commmit with the title "fixup! fixup! original title" and keep that at the top of the branch) 2. Unrelated fixup commits would be squashed too. The added integration test verifies that both of these problems are fixed.
51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
package interactive_rebase
|
|
|
|
import (
|
|
"github.com/jesseduffield/lazygit/pkg/config"
|
|
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
|
)
|
|
|
|
var AmendFixupCommit = NewIntegrationTest(NewIntegrationTestArgs{
|
|
Description: "Amends a staged file to a fixup commit, and checks that other unrelated fixup commits are not auto-squashed.",
|
|
ExtraCmdArgs: "",
|
|
Skip: false,
|
|
SetupConfig: func(config *config.AppConfig) {},
|
|
SetupRepo: func(shell *Shell) {
|
|
shell.
|
|
CreateNCommits(1).
|
|
CreateFileAndAdd("first-fixup-file", "").Commit("fixup! commit 01").
|
|
CreateNCommitsStartingAt(2, 2).
|
|
CreateFileAndAdd("unrelated-fixup-file", "fixup 03").Commit("fixup! commit 03").
|
|
CreateFileAndAdd("fixup-file", "fixup 01")
|
|
},
|
|
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
|
t.Views().Commits().
|
|
Focus().
|
|
Lines(
|
|
Contains("fixup! commit 03"),
|
|
Contains("commit 03"),
|
|
Contains("commit 02"),
|
|
Contains("fixup! commit 01"),
|
|
Contains("commit 01"),
|
|
).
|
|
NavigateToLine(Contains("fixup! commit 01")).
|
|
Press(keys.Commits.AmendToCommit).
|
|
Tap(func() {
|
|
t.ExpectPopup().Confirmation().
|
|
Title(Equals("Amend Commit")).
|
|
Content(Contains("Are you sure you want to amend this commit with your staged files?")).
|
|
Confirm()
|
|
}).
|
|
Lines(
|
|
Contains("fixup! commit 03"),
|
|
Contains("commit 03"),
|
|
Contains("commit 02"),
|
|
Contains("fixup! commit 01").IsSelected(),
|
|
Contains("commit 01"),
|
|
)
|
|
|
|
t.Views().Main().
|
|
Content(Contains("fixup 01"))
|
|
},
|
|
})
|