diff options
author | Davyd McColl <davydm@gmail.com> | 2020-11-23 10:14:15 +0200 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-11-28 10:27:28 +1100 |
commit | 860370a8456370aeb57a06d27e5a248351071b80 (patch) | |
tree | dd882aa7b7dd425a5d2a0a539de846e1462b85f4 /pkg/gui/files_panel.go | |
parent | 196761a40a6264ac9598d97eaf91083f23f3f60e (diff) |
:ok_hand: update as per PR commentary
Diffstat (limited to 'pkg/gui/files_panel.go')
-rw-r--r-- | pkg/gui/files_panel.go | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/pkg/gui/files_panel.go b/pkg/gui/files_panel.go index f8a667bc6..26d7e1bb1 100644 --- a/pkg/gui/files_panel.go +++ b/pkg/gui/files_panel.go @@ -301,19 +301,26 @@ func (gui *Gui) commitPrefixConfigForRepo() *config.CommitPrefixConfig { return &cfg } -func (gui *Gui) canCommitNow() bool { - if len(gui.stagedFiles()) > 0 { - return true - } - if gui.Config.GetUserConfig().Gui.SkipNoStagedFilesWarning { +func (gui *Gui) prepareFilesForCommit() error { + noStagedFiles := len(gui.stagedFiles()) == 0 + if noStagedFiles && gui.Config.GetUserConfig().Gui.SkipNoStagedFilesWarning { err := gui.GitCommand.StageAll() - return err == nil + if err != nil { + return err + } + + return gui.refreshFilesAndSubmodules() } - return false + + return nil } func (gui *Gui) handleCommitPress() error { - if !gui.canCommitNow() { + if err := gui.prepareFilesForCommit(); err != nil { + return gui.surfaceError(err) + } + + if len(gui.stagedFiles()) == 0 { return gui.promptToStageAllAndRetry(gui.handleCommitPress) } |