summaryrefslogtreecommitdiffstats
path: root/pkg/gui/files_panel.go
diff options
context:
space:
mode:
authorDavyd McColl <davydm@gmail.com>2020-11-23 10:14:15 +0200
committerJesse Duffield <jessedduffield@gmail.com>2020-11-28 10:27:28 +1100
commit860370a8456370aeb57a06d27e5a248351071b80 (patch)
treedd882aa7b7dd425a5d2a0a539de846e1462b85f4 /pkg/gui/files_panel.go
parent196761a40a6264ac9598d97eaf91083f23f3f60e (diff)
:ok_hand: update as per PR commentary
Diffstat (limited to 'pkg/gui/files_panel.go')
-rw-r--r--pkg/gui/files_panel.go23
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)
}