PrimeIntellect/SWE-rebench-V2-Filtered-Easy-Verified huggingface dataset:
Repository: lindell/multi-gitter (go)
Issue: index out of range error when using multiline commit messages
**Describe the bug**
Multi-line commit messages don't work and lead to the following error

```
panic: runtime error: index out of range [2] with length 2

goroutine 1 [running]:
github.com/lindell/multi-gitter/cmd.run(0xc000191b80, {0xc0001ec180, 0x4, 0x4})
	/home/runner/work/multi-gitter/multi-gitter/cmd/cmd-run.go:112 +0xe5e
github.com/spf13/cobra.(*Command).execute(0xc000191b80, {0xc0001ec140, 0x4, 0x4})
	/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.2.1/command.go:856 +0x60e
github.com/spf13/cobra.(*Command).ExecuteC(0xc000191900)
	/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.2.1/command.go:974 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
	/home/runner/go/pkg/mod/github.com/spf13/cobra@v1.2.1/command.go:902
main.main()
	/home/runner/work/multi-gitter/multi-gitter/main.go:19 +0xe5
Error: panic: runtime error: index out of range [2] with length 2
```

**To Reproduce**
Steps to reproduce the behavior:

```
multi-gitter run 'echo "something"' --repo some/repo --branch some-branch --commit-message $'foo\nbar'
```

or via config.yaml:
```
commit-message: |
  foo
  bar
```

**Expected behavior**
There is no error

**Additional context**
v0.38.2 on Mac
Pull request description: Multi line message fix
Resolves #221 

Patch:
diff --git a/cmd/cmd-run.go b/cmd/cmd-run.go
index d2685b5..9bb845e 100755
--- a/cmd/cmd-run.go
+++ b/cmd/cmd-run.go
@@ -109,7 +109,7 @@ func run(cmd *cobra.Command, args []string) error {
 		split := strings.SplitN(commitMessage, "\n", 2)
 		prTitle = split[0]
 		if prBody == "" && len(split) == 2 {
-			prBody = split[2]
+			prBody = split[1]
 		}
 	}
 


Test patch:
diff --git a/tests/table_test.go b/tests/table_test.go
index cb9af5f..1b0d2b7 100644
--- a/tests/table_test.go
+++ b/tests/table_test.go
@@ -806,6 +806,32 @@ Repositories with a successful run:
 				assert.Equal(t, "i like bananas", readTestFile(t, vcMock.Repositories[2].Path))
 			},
 		},
+
+		{
+			name: "multi line message body",
+			vcCreate: func(t *testing.T) *vcmock.VersionController {
+				return &vcmock.VersionController{
+					Repositories: []vcmock.Repository{
+						createRepo(t, "owner", "should-change", "i like apples"),
+					},
+				}
+			},
+			args: []string{
+				"run",
+				"--author-name", "Test Author",
+				"--author-email", "test@example.com",
+				"-B", "custom-branch-name",
+				"-m", "custom message\nwith more info\nand even more",
+				changerBinaryPath,
+			},
+			verify: func(t *testing.T, vcMock *vcmock.VersionController, runData runData) {
+				require.Len(t, vcMock.PullRequests, 1)
+				assert.Equal(t, "custom-branch-name", vcMock.PullRequests[0].Head)
+				assert.Equal(t, "master", vcMock.PullRequests[0].Base)
+				assert.Equal(t, "custom message", vcMock.PullRequests[0].Title)
+				assert.Equal(t, "with more info\nand even more", vcMock.PullRequests[0].Body)
+			},
+		},
 	}
 
 	for _, gitBackend := range gitBackends {