From 52da806c5713e4bdbc3be05bc1f78124950c7e9f Mon Sep 17 00:00:00 2001 From: Chris McDonnell Date: Thu, 13 Mar 2025 23:59:19 -0400 Subject: [PATCH 1/5] refactor: Rename UsingGpg to make room for Gpg Tag logic --- pkg/commands/git_commands/config.go | 7 ++++--- pkg/commands/git_commands/patch.go | 2 +- pkg/commands/git_commands/rebase.go | 4 ++-- pkg/gui/controllers/helpers/gpg_helper.go | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/pkg/commands/git_commands/config.go b/pkg/commands/git_commands/config.go index 5ea8f91d7..865315f11 100644 --- a/pkg/commands/git_commands/config.go +++ b/pkg/commands/git_commands/config.go @@ -57,9 +57,10 @@ func (self *ConfigCommands) GetPager(width int) string { return utils.ResolvePlaceholderString(pagerTemplate, templateValues) } -// UsingGpg tells us whether the user has gpg enabled so that we can know -// whether we need to run a subprocess to allow them to enter their password -func (self *ConfigCommands) UsingGpg() bool { +// NeedsGpgSubprocessForCommit tells us whether the user has gpg enabled for commit actions +// and needs a subprocess because they have a process where they manually +// enter their password every time a GPG action is taken +func (self *ConfigCommands) NeedsGpgSubprocessForCommit() bool { overrideGpg := self.UserConfig().Git.OverrideGpg if overrideGpg { return false diff --git a/pkg/commands/git_commands/patch.go b/pkg/commands/git_commands/patch.go index 830ee2cb6..36e094337 100644 --- a/pkg/commands/git_commands/patch.go +++ b/pkg/commands/git_commands/patch.go @@ -150,7 +150,7 @@ func (self *PatchCommands) MovePatchToSelectedCommit(commits []*models.Commit, s // we can make this GPG thing possible it just means we need to do this in two parts: // one where we handle the possibility of a credential request, and the other // where we continue the rebase - if self.config.UsingGpg() { + if self.config.NeedsGpgSubprocessForCommit() { return errors.New(self.Tr.DisabledForGPG) } diff --git a/pkg/commands/git_commands/rebase.go b/pkg/commands/git_commands/rebase.go index 757257750..155455a34 100644 --- a/pkg/commands/git_commands/rebase.go +++ b/pkg/commands/git_commands/rebase.go @@ -35,7 +35,7 @@ func NewRebaseCommands( } func (self *RebaseCommands) RewordCommit(commits []*models.Commit, index int, summary string, description string) error { - if self.config.UsingGpg() { + if self.config.NeedsGpgSubprocessForCommit() { return errors.New(self.Tr.DisabledForGPG) } @@ -413,7 +413,7 @@ func (self *RebaseCommands) BeginInteractiveRebaseForCommitRange( // we can make this GPG thing possible it just means we need to do this in two parts: // one where we handle the possibility of a credential request, and the other // where we continue the rebase - if self.config.UsingGpg() { + if self.config.NeedsGpgSubprocessForCommit() { return errors.New(self.Tr.DisabledForGPG) } diff --git a/pkg/gui/controllers/helpers/gpg_helper.go b/pkg/gui/controllers/helpers/gpg_helper.go index 6974e1c5c..610442b33 100644 --- a/pkg/gui/controllers/helpers/gpg_helper.go +++ b/pkg/gui/controllers/helpers/gpg_helper.go @@ -23,7 +23,7 @@ func NewGpgHelper(c *HelperCommon) *GpgHelper { // fix this bug, or just stop running subprocesses from within there, given that // we don't need to see a loading status if we're in a subprocess. func (self *GpgHelper) WithGpgHandling(cmdObj oscommands.ICmdObj, waitingStatus string, onSuccess func() error) error { - useSubprocess := self.c.Git().Config.UsingGpg() + useSubprocess := self.c.Git().Config.NeedsGpgSubprocessForCommit() if useSubprocess { success, err := self.c.RunSubprocess(cmdObj) if success && onSuccess != nil { From 6fb3b7430c1f1906e031264d66ff12cca069008f Mon Sep 17 00:00:00 2001 From: Chris McDonnell Date: Fri, 14 Mar 2025 00:08:52 -0400 Subject: [PATCH 2/5] refactor: Make commit.gpgSign match official capitalization The actual usage is case insensitive, so this doesn't actually matter. But if fills my heart with joy. The test is case sensitive, but the actual response to `git config commit.gpgSign` is equivalent to `git config commit.gppsign` --- pkg/commands/git_commands/config.go | 2 +- pkg/commands/git_commands/rebase_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/commands/git_commands/config.go b/pkg/commands/git_commands/config.go index 865315f11..b93cbf91a 100644 --- a/pkg/commands/git_commands/config.go +++ b/pkg/commands/git_commands/config.go @@ -66,7 +66,7 @@ func (self *ConfigCommands) NeedsGpgSubprocessForCommit() bool { return false } - return self.gitConfig.GetBool("commit.gpgsign") + return self.gitConfig.GetBool("commit.gpgSign") } func (self *ConfigCommands) GetCoreEditor() string { diff --git a/pkg/commands/git_commands/rebase_test.go b/pkg/commands/git_commands/rebase_test.go index 21ebdf365..d79bc0b6a 100644 --- a/pkg/commands/git_commands/rebase_test.go +++ b/pkg/commands/git_commands/rebase_test.go @@ -128,7 +128,7 @@ func TestRebaseDiscardOldFileChanges(t *testing.T) { }, { testName: "returns error when using gpg", - gitConfigMockResponses: map[string]string{"commit.gpgsign": "true"}, + gitConfigMockResponses: map[string]string{"commit.gpgSign": "true"}, commits: []*models.Commit{{Name: "commit", Hash: "123456"}}, commitIndex: 0, fileName: []string{"test999.txt"}, From f779a5878d3de20bb01418ad31617a580232d0b2 Mon Sep 17 00:00:00 2001 From: Chris McDonnell Date: Sat, 15 Mar 2025 23:12:39 -0400 Subject: [PATCH 3/5] refactor: Express WithGpgHelper with a config key parameter --- pkg/commands/git_commands/config.go | 17 ++++++++++++++--- pkg/gui/controllers/helpers/amend_helper.go | 4 +++- pkg/gui/controllers/helpers/gpg_helper.go | 5 +++-- .../controllers/helpers/working_tree_helper.go | 10 ++++++---- pkg/gui/controllers/local_commits_controller.go | 2 ++ 5 files changed, 28 insertions(+), 10 deletions(-) diff --git a/pkg/commands/git_commands/config.go b/pkg/commands/git_commands/config.go index b93cbf91a..146d54eee 100644 --- a/pkg/commands/git_commands/config.go +++ b/pkg/commands/git_commands/config.go @@ -57,16 +57,27 @@ func (self *ConfigCommands) GetPager(width int) string { return utils.ResolvePlaceholderString(pagerTemplate, templateValues) } -// NeedsGpgSubprocessForCommit tells us whether the user has gpg enabled for commit actions +type GpgConfigKey string + +const ( + CommitGpgSign GpgConfigKey = "commit.gpgSign" + TagGpgSign GpgConfigKey = "tag.gpgSign" +) + +// NeedsGpgSubprocess tells us whether the user has gpg enabled for the specified action type // and needs a subprocess because they have a process where they manually // enter their password every time a GPG action is taken -func (self *ConfigCommands) NeedsGpgSubprocessForCommit() bool { +func (self *ConfigCommands) NeedsGpgSubprocess(key GpgConfigKey) bool { overrideGpg := self.UserConfig().Git.OverrideGpg if overrideGpg { return false } - return self.gitConfig.GetBool("commit.gpgSign") + return self.gitConfig.GetBool(string(key)) +} + +func (self *ConfigCommands) NeedsGpgSubprocessForCommit() bool { + return self.NeedsGpgSubprocess(CommitGpgSign) } func (self *ConfigCommands) GetCoreEditor() string { diff --git a/pkg/gui/controllers/helpers/amend_helper.go b/pkg/gui/controllers/helpers/amend_helper.go index c3e8a8118..8a0a9817e 100644 --- a/pkg/gui/controllers/helpers/amend_helper.go +++ b/pkg/gui/controllers/helpers/amend_helper.go @@ -1,5 +1,7 @@ package helpers +import "github.com/jesseduffield/lazygit/pkg/commands/git_commands" + type AmendHelper struct { c *HelperCommon gpg *GpgHelper @@ -18,5 +20,5 @@ func NewAmendHelper( func (self *AmendHelper) AmendHead() error { cmdObj := self.c.Git().Commit.AmendHeadCmdObj() self.c.LogAction(self.c.Tr.Actions.AmendCommit) - return self.gpg.WithGpgHandling(cmdObj, self.c.Tr.AmendingStatus, nil) + return self.gpg.WithGpgHandling(cmdObj, git_commands.CommitGpgSign, self.c.Tr.AmendingStatus, nil) } diff --git a/pkg/gui/controllers/helpers/gpg_helper.go b/pkg/gui/controllers/helpers/gpg_helper.go index 610442b33..5a17e819c 100644 --- a/pkg/gui/controllers/helpers/gpg_helper.go +++ b/pkg/gui/controllers/helpers/gpg_helper.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/jesseduffield/gocui" + "github.com/jesseduffield/lazygit/pkg/commands/git_commands" "github.com/jesseduffield/lazygit/pkg/commands/oscommands" "github.com/jesseduffield/lazygit/pkg/gui/types" ) @@ -22,8 +23,8 @@ func NewGpgHelper(c *HelperCommon) *GpgHelper { // WithWaitingStatus we get stuck there and can't return to lazygit. We could // fix this bug, or just stop running subprocesses from within there, given that // we don't need to see a loading status if we're in a subprocess. -func (self *GpgHelper) WithGpgHandling(cmdObj oscommands.ICmdObj, waitingStatus string, onSuccess func() error) error { - useSubprocess := self.c.Git().Config.NeedsGpgSubprocessForCommit() +func (self *GpgHelper) WithGpgHandling(cmdObj oscommands.ICmdObj, configKey git_commands.GpgConfigKey, waitingStatus string, onSuccess func() error) error { + useSubprocess := self.c.Git().Config.NeedsGpgSubprocess(configKey) if useSubprocess { success, err := self.c.RunSubprocess(cmdObj) if success && onSuccess != nil { diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go index acec444ad..7c077bcfc 100644 --- a/pkg/gui/controllers/helpers/working_tree_helper.go +++ b/pkg/gui/controllers/helpers/working_tree_helper.go @@ -5,6 +5,7 @@ import ( "fmt" "regexp" + "github.com/jesseduffield/lazygit/pkg/commands/git_commands" "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/config" "github.com/jesseduffield/lazygit/pkg/gui/context" @@ -111,10 +112,11 @@ func (self *WorkingTreeHelper) HandleCommitPressWithMessage(initialMessage strin func (self *WorkingTreeHelper) handleCommit(summary string, description string, forceSkipHooks bool) error { cmdObj := self.c.Git().Commit.CommitCmdObj(summary, description, forceSkipHooks) self.c.LogAction(self.c.Tr.Actions.Commit) - return self.gpgHelper.WithGpgHandling(cmdObj, self.c.Tr.CommittingStatus, func() error { - self.commitsHelper.OnCommitSuccess() - return nil - }) + return self.gpgHelper.WithGpgHandling(cmdObj, git_commands.CommitGpgSign, self.c.Tr.CommittingStatus, + func() error { + self.commitsHelper.OnCommitSuccess() + return nil + }) } func (self *WorkingTreeHelper) switchFromCommitMessagePanelToEditor(filepath string, forceSkipHooks bool) error { diff --git a/pkg/gui/controllers/local_commits_controller.go b/pkg/gui/controllers/local_commits_controller.go index 53885c8f5..0ed346824 100644 --- a/pkg/gui/controllers/local_commits_controller.go +++ b/pkg/gui/controllers/local_commits_controller.go @@ -6,6 +6,7 @@ import ( "github.com/go-errors/errors" "github.com/jesseduffield/gocui" + "github.com/jesseduffield/lazygit/pkg/commands/git_commands" "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/commands/types/enums" "github.com/jesseduffield/lazygit/pkg/gui/context" @@ -412,6 +413,7 @@ func (self *LocalCommitsController) handleReword(summary string, description str if models.IsHeadCommit(self.c.Model().Commits, self.c.Contexts().LocalCommits.GetSelectedLineIdx()) { // we've selected the top commit so no rebase is required return self.c.Helpers().GPG.WithGpgHandling(self.c.Git().Commit.RewordLastCommit(summary, description), + git_commands.CommitGpgSign, self.c.Tr.RewordingStatus, nil) } From c06d4e7b18230661220fa9230012eb5914a3dc21 Mon Sep 17 00:00:00 2001 From: Chris McDonnell Date: Sat, 15 Mar 2025 23:32:47 -0400 Subject: [PATCH 4/5] fix: Make tag operation use GPG helper to run signing in sub-process --- pkg/commands/git_commands/config.go | 4 +++ pkg/commands/git_commands/tag.go | 13 +++++---- pkg/gui/controllers.go | 2 +- pkg/gui/controllers/helpers/tags_helper.go | 33 ++++++++++------------ 4 files changed, 28 insertions(+), 24 deletions(-) diff --git a/pkg/commands/git_commands/config.go b/pkg/commands/git_commands/config.go index 146d54eee..19849b84b 100644 --- a/pkg/commands/git_commands/config.go +++ b/pkg/commands/git_commands/config.go @@ -80,6 +80,10 @@ func (self *ConfigCommands) NeedsGpgSubprocessForCommit() bool { return self.NeedsGpgSubprocess(CommitGpgSign) } +func (self *ConfigCommands) GetGpgTagSign() bool { + return self.gitConfig.GetBool(string(TagGpgSign)) +} + func (self *ConfigCommands) GetCoreEditor() string { return self.gitConfig.Get("core.editor") } diff --git a/pkg/commands/git_commands/tag.go b/pkg/commands/git_commands/tag.go index d2b01ba7e..9b9103416 100644 --- a/pkg/commands/git_commands/tag.go +++ b/pkg/commands/git_commands/tag.go @@ -1,6 +1,9 @@ package git_commands -import "github.com/jesseduffield/gocui" +import ( + "github.com/jesseduffield/gocui" + "github.com/jesseduffield/lazygit/pkg/commands/oscommands" +) type TagCommands struct { *GitCommon @@ -12,24 +15,24 @@ func NewTagCommands(gitCommon *GitCommon) *TagCommands { } } -func (self *TagCommands) CreateLightweight(tagName string, ref string, force bool) error { +func (self *TagCommands) CreateLightweightObj(tagName string, ref string, force bool) oscommands.ICmdObj { cmdArgs := NewGitCmd("tag"). ArgIf(force, "--force"). Arg("--", tagName). ArgIf(len(ref) > 0, ref). ToArgv() - return self.cmd.New(cmdArgs).Run() + return self.cmd.New(cmdArgs) } -func (self *TagCommands) CreateAnnotated(tagName, ref, msg string, force bool) error { +func (self *TagCommands) CreateAnnotatedObj(tagName, ref, msg string, force bool) oscommands.ICmdObj { cmdArgs := NewGitCmd("tag").Arg(tagName). ArgIf(force, "--force"). ArgIf(len(ref) > 0, ref). Arg("-m", msg). ToArgv() - return self.cmd.New(cmdArgs).Run() + return self.cmd.New(cmdArgs) } func (self *TagCommands) HasTag(tagName string) bool { diff --git a/pkg/gui/controllers.go b/pkg/gui/controllers.go index d8ce6766a..a808d368f 100644 --- a/pkg/gui/controllers.go +++ b/pkg/gui/controllers.go @@ -106,7 +106,7 @@ func (gui *Gui) resetHelpersAndControllers() { Suggestions: suggestionsHelper, Files: helpers.NewFilesHelper(helperCommon), WorkingTree: helpers.NewWorkingTreeHelper(helperCommon, refsHelper, commitsHelper, gpgHelper), - Tags: helpers.NewTagsHelper(helperCommon, commitsHelper), + Tags: helpers.NewTagsHelper(helperCommon, commitsHelper, gpgHelper), BranchesHelper: helpers.NewBranchesHelper(helperCommon, worktreeHelper), GPG: helpers.NewGpgHelper(helperCommon), MergeAndRebase: rebaseHelper, diff --git a/pkg/gui/controllers/helpers/tags_helper.go b/pkg/gui/controllers/helpers/tags_helper.go index aa6ff7740..ebcc70a3f 100644 --- a/pkg/gui/controllers/helpers/tags_helper.go +++ b/pkg/gui/controllers/helpers/tags_helper.go @@ -1,7 +1,8 @@ package helpers import ( - "github.com/jesseduffield/gocui" + "github.com/jesseduffield/lazygit/pkg/commands/git_commands" + "github.com/jesseduffield/lazygit/pkg/commands/oscommands" "github.com/jesseduffield/lazygit/pkg/gui/context" "github.com/jesseduffield/lazygit/pkg/gui/types" "github.com/jesseduffield/lazygit/pkg/utils" @@ -10,35 +11,31 @@ import ( type TagsHelper struct { c *HelperCommon commitsHelper *CommitsHelper + gpg *GpgHelper } -func NewTagsHelper(c *HelperCommon, commitsHelper *CommitsHelper) *TagsHelper { +func NewTagsHelper(c *HelperCommon, commitsHelper *CommitsHelper, gpg *GpgHelper) *TagsHelper { return &TagsHelper{ c: c, commitsHelper: commitsHelper, + gpg: gpg, } } func (self *TagsHelper) OpenCreateTagPrompt(ref string, onCreate func()) error { doCreateTag := func(tagName string, description string, force bool) error { - return self.c.WithWaitingStatus(self.c.Tr.CreatingTag, func(gocui.Task) error { - if description != "" { - self.c.LogAction(self.c.Tr.Actions.CreateAnnotatedTag) - if err := self.c.Git().Tag.CreateAnnotated(tagName, ref, description, force); err != nil { - return err - } - } else { - self.c.LogAction(self.c.Tr.Actions.CreateLightweightTag) - if err := self.c.Git().Tag.CreateLightweight(tagName, ref, force); err != nil { - return err - } - } + var command oscommands.ICmdObj + if description != "" || self.c.Git().Config.GetGpgTagSign() { + self.c.LogAction(self.c.Tr.Actions.CreateAnnotatedTag) + command = self.c.Git().Tag.CreateAnnotatedObj(tagName, ref, description, force) + } else { + self.c.LogAction(self.c.Tr.Actions.CreateLightweightTag) + command = self.c.Git().Tag.CreateLightweightObj(tagName, ref, force) + } + return self.gpg.WithGpgHandling(command, git_commands.TagGpgSign, self.c.Tr.CreatingTag, func() error { self.commitsHelper.OnCommitSuccess() - - return self.c.Refresh(types.RefreshOptions{ - Mode: types.ASYNC, Scope: []types.RefreshableView{types.COMMITS, types.TAGS}, - }) + return nil }) } From c765da10f53c2710febc2c8bed0a7a5006bac4c0 Mon Sep 17 00:00:00 2001 From: Stefan Haller Date: Sun, 16 Mar 2025 14:36:41 +0100 Subject: [PATCH 5/5] Allow passing refresh scope to WithGpgHandling --- pkg/gui/controllers/helpers/amend_helper.go | 2 +- pkg/gui/controllers/helpers/gpg_helper.go | 12 ++++++------ pkg/gui/controllers/helpers/tags_helper.go | 2 +- pkg/gui/controllers/helpers/working_tree_helper.go | 2 +- pkg/gui/controllers/local_commits_controller.go | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pkg/gui/controllers/helpers/amend_helper.go b/pkg/gui/controllers/helpers/amend_helper.go index 8a0a9817e..03c6bb485 100644 --- a/pkg/gui/controllers/helpers/amend_helper.go +++ b/pkg/gui/controllers/helpers/amend_helper.go @@ -20,5 +20,5 @@ func NewAmendHelper( func (self *AmendHelper) AmendHead() error { cmdObj := self.c.Git().Commit.AmendHeadCmdObj() self.c.LogAction(self.c.Tr.Actions.AmendCommit) - return self.gpg.WithGpgHandling(cmdObj, git_commands.CommitGpgSign, self.c.Tr.AmendingStatus, nil) + return self.gpg.WithGpgHandling(cmdObj, git_commands.CommitGpgSign, self.c.Tr.AmendingStatus, nil, nil) } diff --git a/pkg/gui/controllers/helpers/gpg_helper.go b/pkg/gui/controllers/helpers/gpg_helper.go index 5a17e819c..da87d1e6a 100644 --- a/pkg/gui/controllers/helpers/gpg_helper.go +++ b/pkg/gui/controllers/helpers/gpg_helper.go @@ -23,7 +23,7 @@ func NewGpgHelper(c *HelperCommon) *GpgHelper { // WithWaitingStatus we get stuck there and can't return to lazygit. We could // fix this bug, or just stop running subprocesses from within there, given that // we don't need to see a loading status if we're in a subprocess. -func (self *GpgHelper) WithGpgHandling(cmdObj oscommands.ICmdObj, configKey git_commands.GpgConfigKey, waitingStatus string, onSuccess func() error) error { +func (self *GpgHelper) WithGpgHandling(cmdObj oscommands.ICmdObj, configKey git_commands.GpgConfigKey, waitingStatus string, onSuccess func() error, refreshScope []types.RefreshableView) error { useSubprocess := self.c.Git().Config.NeedsGpgSubprocess(configKey) if useSubprocess { success, err := self.c.RunSubprocess(cmdObj) @@ -32,20 +32,20 @@ func (self *GpgHelper) WithGpgHandling(cmdObj oscommands.ICmdObj, configKey git_ return err } } - if err := self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC}); err != nil { + if err := self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: refreshScope}); err != nil { return err } return err } else { - return self.runAndStream(cmdObj, waitingStatus, onSuccess) + return self.runAndStream(cmdObj, waitingStatus, onSuccess, refreshScope) } } -func (self *GpgHelper) runAndStream(cmdObj oscommands.ICmdObj, waitingStatus string, onSuccess func() error) error { +func (self *GpgHelper) runAndStream(cmdObj oscommands.ICmdObj, waitingStatus string, onSuccess func() error, refreshScope []types.RefreshableView) error { return self.c.WithWaitingStatus(waitingStatus, func(gocui.Task) error { if err := cmdObj.StreamOutput().Run(); err != nil { - _ = self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC}) + _ = self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: refreshScope}) return fmt.Errorf( self.c.Tr.GitCommandFailed, self.c.UserConfig().Keybinding.Universal.ExtrasMenu, ) @@ -57,6 +57,6 @@ func (self *GpgHelper) runAndStream(cmdObj oscommands.ICmdObj, waitingStatus str } } - return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC}) + return self.c.Refresh(types.RefreshOptions{Mode: types.ASYNC, Scope: refreshScope}) }) } diff --git a/pkg/gui/controllers/helpers/tags_helper.go b/pkg/gui/controllers/helpers/tags_helper.go index ebcc70a3f..b247ad838 100644 --- a/pkg/gui/controllers/helpers/tags_helper.go +++ b/pkg/gui/controllers/helpers/tags_helper.go @@ -36,7 +36,7 @@ func (self *TagsHelper) OpenCreateTagPrompt(ref string, onCreate func()) error { return self.gpg.WithGpgHandling(command, git_commands.TagGpgSign, self.c.Tr.CreatingTag, func() error { self.commitsHelper.OnCommitSuccess() return nil - }) + }, []types.RefreshableView{types.COMMITS, types.TAGS}) } onConfirm := func(tagName string, description string) error { diff --git a/pkg/gui/controllers/helpers/working_tree_helper.go b/pkg/gui/controllers/helpers/working_tree_helper.go index 7c077bcfc..e85e6702e 100644 --- a/pkg/gui/controllers/helpers/working_tree_helper.go +++ b/pkg/gui/controllers/helpers/working_tree_helper.go @@ -116,7 +116,7 @@ func (self *WorkingTreeHelper) handleCommit(summary string, description string, func() error { self.commitsHelper.OnCommitSuccess() return nil - }) + }, nil) } func (self *WorkingTreeHelper) switchFromCommitMessagePanelToEditor(filepath string, forceSkipHooks bool) error { diff --git a/pkg/gui/controllers/local_commits_controller.go b/pkg/gui/controllers/local_commits_controller.go index 0ed346824..c459f4261 100644 --- a/pkg/gui/controllers/local_commits_controller.go +++ b/pkg/gui/controllers/local_commits_controller.go @@ -414,7 +414,7 @@ func (self *LocalCommitsController) handleReword(summary string, description str // we've selected the top commit so no rebase is required return self.c.Helpers().GPG.WithGpgHandling(self.c.Git().Commit.RewordLastCommit(summary, description), git_commands.CommitGpgSign, - self.c.Tr.RewordingStatus, nil) + self.c.Tr.RewordingStatus, nil, nil) } return self.c.WithWaitingStatus(self.c.Tr.RewordingStatus, func(gocui.Task) error {