summaryrefslogtreecommitdiffstats
path: root/pkg/commands
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-01-07 19:19:24 +1100
committerJesse Duffield <jessedduffield@gmail.com>2022-01-09 14:09:53 +1100
commite92076d2c299c8171e972171c174261c6ce62d3b (patch)
treef372a446455f3c0bfa2c96dacc5e03b244487324 /pkg/commands
parentd9089098c3adaa007c1a56468c9da31931877712 (diff)
start removing direct calls to cmd.New from gui
Diffstat (limited to 'pkg/commands')
-rw-r--r--pkg/commands/commits.go24
-rw-r--r--pkg/commands/patch_rebases.go2
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
}