diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2022-01-07 19:19:24 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2022-01-09 14:09:53 +1100 |
commit | e92076d2c299c8171e972171c174261c6ce62d3b (patch) | |
tree | f372a446455f3c0bfa2c96dacc5e03b244487324 /pkg/commands | |
parent | d9089098c3adaa007c1a56468c9da31931877712 (diff) |
start removing direct calls to cmd.New from gui
Diffstat (limited to 'pkg/commands')
-rw-r--r-- | pkg/commands/commits.go | 24 | ||||
-rw-r--r-- | pkg/commands/patch_rebases.go | 2 |
2 files changed, 20 insertions, 6 deletions
diff --git a/pkg/commands/commits.go b/pkg/commands/commits.go index ba61df5a5..7ae0fe4bd 100644 --- a/pkg/commands/commits.go +++ b/pkg/commands/commits.go @@ -39,19 +39,33 @@ func (self *CommitCommands) ResetToCommit(sha string, strength string, envVars [ Run() } -func (self *CommitCommands) CommitCmdObj(message string, flags string) oscommands.ICmdObj { +func (self *CommitCommands) CommitCmdObj(message string) oscommands.ICmdObj { splitMessage := strings.Split(message, "\n") lineArgs := "" for _, line := range splitMessage { lineArgs += fmt.Sprintf(" -m %s", self.cmd.Quote(line)) } - flagsStr := "" - if flags != "" { - flagsStr = fmt.Sprintf(" %s", flags) + skipHookPrefix := self.UserConfig.Git.SkipHookPrefix + noVerifyFlag := "" + if skipHookPrefix != "" && strings.HasPrefix(message, skipHookPrefix) { + noVerifyFlag = " --no-verify" } - return self.cmd.New(fmt.Sprintf("git commit%s%s", flagsStr, lineArgs)) + return self.cmd.New(fmt.Sprintf("git commit%s%s%s", noVerifyFlag, self.signoffFlag(), lineArgs)) +} + +// runs git commit without the -m argument meaning it will invoke the user's editor +func (self *CommitCommands) CommitEditorCmdObj() oscommands.ICmdObj { + return self.cmd.New(fmt.Sprintf("git commit%s", self.signoffFlag())) +} + +func (self *CommitCommands) signoffFlag() string { + if self.UserConfig.Git.Commit.SignOff { + return " --signoff" + } else { + return "" + } } // Get the subject of the HEAD commit diff --git a/pkg/commands/patch_rebases.go b/pkg/commands/patch_rebases.go index e28c2d8e6..a006f3b71 100644 --- a/pkg/commands/patch_rebases.go +++ b/pkg/commands/patch_rebases.go @@ -252,7 +252,7 @@ func (self *PatchCommands) PullPatchIntoNewCommit(commits []*models.Commit, comm head_message, _ := self.commit.GetHeadCommitMessage() new_message := fmt.Sprintf("Split from \"%s\"", head_message) - err := self.commit.CommitCmdObj(new_message, "").Run() + err := self.commit.CommitCmdObj(new_message).Run() if err != nil { return err } |