From ac08950abc98ada7e906b19cf48a64c021d52524 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 3 Oct 2025 08:00:38 -0500 Subject: fixes ConfigSave() for new users --- config.go | 42 +++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 17 deletions(-) (limited to 'config.go') diff --git a/config.go b/config.go index 0820a1e..88142bc 100644 --- a/config.go +++ b/config.go @@ -16,27 +16,27 @@ import ( // returns err1 || err2 func (f *Forge) ConfigSave() error { - var err error - if f.Config == nil { return log.Errorf("forge.Config == nil") } - if config.HasChanged("forge") { - // only let forge save the config files (?) - if prep.AppName() == "forge" || prep.AppName() == "guireleaser" { - log.Info("Okay, this is", prep.AppName()) - } else { - log.Info("This is not forge") - return log.Errorf("Only forge can save the config files") - } - - if e := f.Config.ConfigSave(); e != nil { - log.Info("forge.Config.ConfigSave() error", e) - err = e - } + if !config.HasChanged("forge") { + return log.Errorf("didn't save. no changes were made") + } + + // only let forge edit & save the config files + // inforce this in lib config? + if !(prep.AppName() == "forge" || prep.AppName() == "guireleaser") { + log.Info("This is not forge") + return log.Errorf("Only forge can save the forge config file") + } + log.Info("Okay, this is", prep.AppName()) + + if err := f.Config.ConfigSave(); err != nil { + log.Info("forge.Config.ConfigSave() error", err) + return err } - return err + return nil } func (f *Forge) SaveRepos() error { @@ -92,6 +92,10 @@ func loadStdConfig() *ForgeConfigs { cfg := NewForgeConfigs() err := config.ConfigLoad(cfg, "forge", "forge") + if cfg.Filename == "" { + panic("wtf filename blank") + } + if err == nil { return cfg } @@ -124,9 +128,13 @@ func loadStdConfig() *ForgeConfigs { cfg.ForgeURL = "http://forge.wit.com/" cfg.DumpENV() + config.SetChanged("forge", true) if !fhelp.QuestionUser("This is your first time using forge, use these default values?") { os.Exit(-1) } - cfg.ConfigSave() + if err := cfg.ConfigSave(); err != nil { + log.Info("config save error:", err) + os.Exit(-1) + } return cfg } -- cgit v1.2.3