summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-05-17 17:12:05 +1000
committerGitHub <noreply@github.com>2023-05-17 17:12:05 +1000
commit681a9bf20d23c922eaa16c9c9243b75172752968 (patch)
treeed08e06923651dcf313753972e099f184abbc208
parent33da56eeb4580a1289b9d5649d58a4a7d30d1af6 (diff)
parent0606b7a43b5d95c780d312d673f7212bf7d836b6 (diff)
Merge pull request #2612 from longlhh90/fix-commit-prefixes-with-empty-commit-message
-rw-r--r--pkg/gui/controllers/helpers/working_tree_helper.go2
-rw-r--r--pkg/integration/tests/commit/commit_wip_with_prefix.go57
-rw-r--r--pkg/integration/tests/commit/commit_with_prefix.go47
-rw-r--r--pkg/integration/tests/test_list.go2
4 files changed, 107 insertions, 1 deletions
diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go
index 2679310f9..96135881e 100644
--- a/pkg/gui/controllers/helpers/working_tree_helper.go
+++ b/pkg/gui/controllers/helpers/working_tree_helper.go
@@ -147,7 +147,7 @@ func (self *WorkingTreeHelper) HandleWIPCommitPress() error {
func (self *WorkingTreeHelper) HandleCommitPress() error {
message := self.c.Contexts().CommitMessage.GetPreservedMessage()
- if message != "" {
+ if message == "" {
commitPrefixConfig := self.commitPrefixConfigForRepo()
if commitPrefixConfig != nil {
prefixPattern := commitPrefixConfig.Pattern
diff --git a/pkg/integration/tests/commit/commit_wip_with_prefix.go b/pkg/integration/tests/commit/commit_wip_with_prefix.go
new file mode 100644
index 000000000..4b3099abf
--- /dev/null
+++ b/pkg/integration/tests/commit/commit_wip_with_prefix.go
@@ -0,0 +1,57 @@
+package commit
+
+import (
+ "github.com/jesseduffield/lazygit/pkg/config"
+ . "github.com/jesseduffield/lazygit/pkg/integration/components"
+)
+
+var CommitWipWithPrefix = NewIntegrationTest(NewIntegrationTestArgs{
+ Description: "Commit with skip hook and config commitPrefix is defined. Prefix is ignored when creating WIP commits.",
+ ExtraCmdArgs: "",
+ Skip: false,
+ SetupConfig: func(testConfig *config.AppConfig) {
+ testConfig.UserConfig.Git.CommitPrefixes = map[string]config.CommitPrefixConfig{"repo": {Pattern: "^\\w+\\/(\\w+-\\w+).*", Replace: "[$1]: "}}
+ },
+ SetupRepo: func(shell *Shell) {
+ shell.NewBranch("feature/TEST-002")
+ shell.CreateFile("test-wip-commit-prefix", "This is foo bar")
+ },
+ Run: func(t *TestDriver, keys config.KeybindingConfig) {
+ t.Views().Commits().
+ IsEmpty()
+
+ t.Views().Files().
+ IsFocused().
+ PressPrimaryAction().
+ Press(keys.Files.CommitChangesWithoutHook)
+
+ t.ExpectPopup().CommitMessagePanel().
+ Title(Equals("Commit summary")).
+ InitialText(Equals("WIP")).
+ Type(" foo").
+ Cancel()
+
+ t.Views().Files().
+ IsFocused().
+ Press(keys.Files.CommitChanges)
+
+ t.ExpectPopup().CommitMessagePanel().
+ Title(Equals("Commit summary")).
+ InitialText(Equals("WIP foo")).
+ Type(" bar").
+ Cancel()
+
+ t.Views().Files().
+ IsFocused().
+ Press(keys.Files.CommitChanges)
+
+ t.ExpectPopup().CommitMessagePanel().
+ Title(Equals("Commit summary")).
+ InitialText(Equals("WIP foo bar")).
+ Type(". Added something else").
+ Confirm()
+
+ t.Views().Commits().Focus()
+ t.Views().Main().Content(Contains("WIP foo bar. Added something else"))
+ },
+})
diff --git a/pkg/integration/tests/commit/commit_with_prefix.go b/pkg/integration/tests/commit/commit_with_prefix.go
new file mode 100644
index 000000000..07c0f626e
--- /dev/null
+++ b/pkg/integration/tests/commit/commit_with_prefix.go
@@ -0,0 +1,47 @@
+package commit
+
+import (
+ "github.com/jesseduffield/lazygit/pkg/config"
+ . "github.com/jesseduffield/lazygit/pkg/integration/components"
+)
+
+var CommitWithPrefix = NewIntegrationTest(NewIntegrationTestArgs{
+ Description: "Commit with defined config commitPrefix",
+ ExtraCmdArgs: "",
+ Skip: false,
+ SetupConfig: func(testConfig *config.AppConfig) {
+ testConfig.UserConfig.Git.CommitPrefixes = map[string]config.CommitPrefixConfig{"repo": {Pattern: "^\\w+\\/(\\w+-\\w+).*", Replace: "[$1]: "}}
+ },
+ SetupRepo: func(shell *Shell) {
+ shell.NewBranch("feature/TEST-001")
+ shell.CreateFile("test-commit-prefix", "This is foo bar")
+ },
+ Run: func(t *TestDriver, keys config.KeybindingConfig) {
+ t.Views().Commits().
+ IsEmpty()
+
+ t.Views().Files().
+ IsFocused().
+ PressPrimaryAction().
+ Press(keys.Files.CommitChanges)
+
+ t.ExpectPopup().CommitMessagePanel().
+ Title(Equals("Commit summary")).
+ InitialText(Equals("[TEST-001]: ")).
+ Type("my commit message").
+ Cancel()
+
+ t.Views().Files().
+ IsFocused().
+ Press(keys.Files.CommitChanges)
+
+ t.ExpectPopup().CommitMessagePanel().
+ Title(Equals("Commit summary")).
+ InitialText(Equals("[TEST-001]: my commit message")).
+ Type(". Added something else").
+ Confirm()
+
+ t.Views().Commits().Focus()
+ t.Views().Main().Content(Contains("[TEST-001]: my commit message. Added something else"))
+ },
+})
diff --git a/pkg/integration/tests/test_list.go b/pkg/integration/tests/test_list.go
index fe6604ac1..563d19f80 100644
--- a/pkg/integration/tests/test_list.go
+++ b/pkg/integration/tests/test_list.go
@@ -47,6 +47,8 @@ var tests = []*components.IntegrationTest{
commit.Amend,
commit.Commit,
commit.CommitMultiline,
+ commit.CommitWipWithPrefix,
+ commit.CommitWithPrefix,
commit.CreateTag,
commit.DiscardOldFileChange,
commit.History,