diff --git a/pkg/commands/git_commands/branch.go b/pkg/commands/git_commands/branch.go index cd78a755b7f..98fc388d12a 100644 --- a/pkg/commands/git_commands/branch.go +++ b/pkg/commands/git_commands/branch.go @@ -277,6 +277,7 @@ func (self *BranchCommands) Merge(branchName string, variant MergeVariant) error cmdArgs := NewGitCmd("merge"). Arg("--no-edit"). + ArgIf(self.UserConfig().Git.Commit.SignOff, "--signoff"). Arg(strings.Fields(self.UserConfig().Git.Merging.Args)...). Arg(extraArgs...). Arg(branchName). diff --git a/pkg/commands/git_commands/commit.go b/pkg/commands/git_commands/commit.go index 40d2b7319ef..57251b9c8f5 100644 --- a/pkg/commands/git_commands/commit.go +++ b/pkg/commands/git_commands/commit.go @@ -90,7 +90,7 @@ func (self *CommitCommands) CommitCmdObj(summary string, description string, for skipHookPrefix := self.UserConfig().Git.SkipHookPrefix cmdArgs := NewGitCmd("commit"). ArgIf(forceSkipHooks || (skipHookPrefix != "" && strings.HasPrefix(summary, skipHookPrefix)), "--no-verify"). - ArgIf(self.signoffFlag() != "", self.signoffFlag()). + ArgIf(self.UserConfig().Git.Commit.SignOff, "--signoff"). Arg(messageArgs...). ToArgv() @@ -111,7 +111,7 @@ func (self *CommitCommands) CommitInEditorWithMessageFileCmdObj(tmpMessageFile s ArgIf(forceSkipHooks, "--no-verify"). Arg("--edit"). Arg("--file="+tmpMessageFile). - ArgIf(self.signoffFlag() != "", self.signoffFlag()). + ArgIf(self.UserConfig().Git.Commit.SignOff, "--signoff"). ToArgv()) } @@ -140,19 +140,12 @@ func (self *CommitCommands) commitMessageArgs(summary string, description string // runs git commit without the -m argument meaning it will invoke the user's editor func (self *CommitCommands) CommitEditorCmdObj() *oscommands.CmdObj { cmdArgs := NewGitCmd("commit"). - ArgIf(self.signoffFlag() != "", self.signoffFlag()). + ArgIf(self.UserConfig().Git.Commit.SignOff, "--signoff"). ToArgv() return self.cmd.New(cmdArgs) } -func (self *CommitCommands) signoffFlag() string { - if self.UserConfig().Git.Commit.SignOff { - return "--signoff" - } - return "" -} - func (self *CommitCommands) GetCommitMessage(commitHash string) (string, error) { cmdArgs := NewGitCmd("log"). Arg("--format=%B", "--max-count=1", commitHash). @@ -279,6 +272,7 @@ func (self *CommitCommands) ShowFileContentCmdObj(hash string, filePath string) func (self *CommitCommands) Revert(hashes []string, isMerge bool) error { cmdArgs := NewGitCmd("revert"). ArgIf(isMerge, "-m", "1"). + ArgIf(self.UserConfig().Git.Commit.SignOff, "--signoff"). Arg(hashes...). ToArgv() diff --git a/pkg/commands/git_commands/rebase.go b/pkg/commands/git_commands/rebase.go index 152c88bbcca..f279767f0f4 100644 --- a/pkg/commands/git_commands/rebase.go +++ b/pkg/commands/git_commands/rebase.go @@ -558,6 +558,7 @@ func (self *RebaseCommands) CherryPickCommits(commits []*models.Commit) error { hasMergeCommit := lo.SomeBy(commits, func(c *models.Commit) bool { return c.IsMerge() }) cmdArgs := NewGitCmd("cherry-pick"). Arg("--allow-empty"). + ArgIf(self.UserConfig().Git.Commit.SignOff, "--signoff"). ArgIf(self.version.IsAtLeast(2, 45, 0), "--empty=keep", "--keep-redundant-commits"). ArgIf(hasMergeCommit, "-m1"). Arg(lo.Reverse(lo.Map(commits, func(c *models.Commit, _ int) string { return c.Hash() }))...).