summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2024-02-23 16:03:04 +0100
committerStefan Haller <stefan@haller-berlin.de>2024-03-02 10:22:01 +0100
commit253a0096f91fc100261030e591a1035b7efefc62 (patch)
tree590eec10820fa37e923ba14d198bf17ec6ee8324
parentaa81c456bbea40c83d345b98c0bbf0e50e0889b0 (diff)
Break git.merging.args config into separate arguments on whitespace
This makes it possible again to pass multiple arguments, for example "--ff-only --autostash". This won't work correctly if you want to use an argument that contains a space, but it's very unlikely that people will want to do that, so I think this is good enough.
-rw-r--r--pkg/commands/git_commands/branch.go2
-rw-r--r--pkg/commands/git_commands/branch_test.go3
2 files changed, 2 insertions, 3 deletions
diff --git a/pkg/commands/git_commands/branch.go b/pkg/commands/git_commands/branch.go
index b8d562dae..d05738ef3 100644
--- a/pkg/commands/git_commands/branch.go
+++ b/pkg/commands/git_commands/branch.go
@@ -210,7 +210,7 @@ type MergeOpts struct {
func (self *BranchCommands) Merge(branchName string, opts MergeOpts) error {
cmdArgs := NewGitCmd("merge").
Arg("--no-edit").
- ArgIf(self.UserConfig.Git.Merging.Args != "", self.UserConfig.Git.Merging.Args).
+ Arg(strings.Fields(self.UserConfig.Git.Merging.Args)...).
ArgIf(opts.FastForwardOnly, "--ff-only").
Arg(branchName).
ToArgv()
diff --git a/pkg/commands/git_commands/branch_test.go b/pkg/commands/git_commands/branch_test.go
index 7dcb7f6d6..a6082586c 100644
--- a/pkg/commands/git_commands/branch_test.go
+++ b/pkg/commands/git_commands/branch_test.go
@@ -138,8 +138,7 @@ func TestBranchMerge(t *testing.T) {
},
opts: MergeOpts{},
branchName: "mybranch",
- expected: []string{"merge", "--no-edit", "--arg1 --arg2", "mybranch"},
- // This is wrong, we want separate arguments for "--arg1" and "--arg2"
+ expected: []string{"merge", "--no-edit", "--arg1", "--arg2", "mybranch"},
},
{
testName: "fast forward only",