summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Save.go77
-rw-r--r--config.go66
-rw-r--r--doDirty.go1
-rw-r--r--forgeConfig.SaveVerbose.go10
-rw-r--r--init.go4
5 files changed, 79 insertions, 79 deletions
diff --git a/Save.go b/Save.go
index 6ca5c53..fc03f91 100644
--- a/Save.go
+++ b/Save.go
@@ -39,9 +39,9 @@ func (f *Forge) Save() error {
}
log.Info("Okay, this is", argvpb.GetAPPNAME())
- err = f.Config.ConfigSave()
+ err = f.Config.configSave()
if err != nil {
- log.Info("forge.Config.ConfigSave() error", err)
+ log.Info("forge.Config.configSave() error", err)
return err
}
@@ -57,3 +57,76 @@ func (f *Forge) Save() error {
}
return nil
}
+
+func (f *Forge) saveRepos() error {
+ if ENV.Verbose() {
+ return f.Repos.SaveVerbose()
+ }
+ return f.Repos.Save()
+}
+
+// functions to import and export the protobuf
+// data to and from config files
+
+// write to ~/.config/forge/
+func (cfg *ForgeConfigs) configSave() error {
+ var header string
+ header += "\n"
+ header += "# the forge config file\n"
+ header += "# You can customize things like:\n"
+ header += "#\n"
+ header += "# * which repos you have write access to\n"
+ header += "# * custom branch names for 'master', 'devel' and 'user'\n"
+ header += "# * 'favorites' so you can remember which things you like\n"
+ header += "# * sometimes protobuf TEXT can fail so as a backup this also creates a .json file\n"
+ header += "#\n"
+ header += "\n"
+ return config.SaveWithHeader(cfg, header)
+}
+
+func (pb *ForgeConfigs) saveVerbose() error {
+ err := config.SavePB(pb)
+ if err == nil {
+ log.Printf("Saved %s with len(%d) ForgeConfigs.\n", pb.Filename, pb.Len())
+ } else {
+ log.Printf("Save err %s with len(%d) ForgeConfigs. err(%v)\n", pb.Filename, pb.Len(), err)
+ }
+ return err
+}
+
+// returns err1 || err2
+func (f *Forge) configSave() error {
+ if f.Config == nil {
+ return log.Errorf("forge.Config == nil")
+ }
+
+ if !config.HasChanged("forge") {
+ return nil
+ }
+
+ // only let forge edit & save the config files
+ // inforce this in lib config?
+ if !(argvpb.GetAPPNAME() == "forge" || argvpb.GetAPPNAME() == "guireleaser") {
+ log.Info("This is not forge")
+ return log.Errorf("Only forge can save the forge config file")
+ }
+
+ // migrate from the old gopath to "namespace"
+ for fc := range f.Config.IterAll() {
+ if fc.Namespace != "" {
+ continue
+ }
+ if fc.Namespace != fc.GoPath {
+ fc.Namespace = fc.GoPath
+ }
+ // todo: deprecate this
+ // fc.GoPath = "" // I want to do this but it might be a bad idea at this point
+ }
+ log.Info("Okay, this is", argvpb.GetAPPNAME())
+
+ if err := f.Config.configSave(); err != nil {
+ log.Info("forge.Config.ConfigSave() error", err)
+ return err
+ }
+ return nil
+}
diff --git a/config.go b/config.go
index bdd733b..a0c0567 100644
--- a/config.go
+++ b/config.go
@@ -8,54 +8,9 @@ import (
"go.wit.com/lib/ENV"
"go.wit.com/lib/config"
- "go.wit.com/lib/protobuf/argvpb"
"go.wit.com/log"
)
-// returns err1 || err2
-func (f *Forge) ConfigSave() error {
- if f.Config == nil {
- return log.Errorf("forge.Config == nil")
- }
-
- if !config.HasChanged("forge") {
- return nil
- }
-
- // only let forge edit & save the config files
- // inforce this in lib config?
- if !(argvpb.GetAPPNAME() == "forge" || argvpb.GetAPPNAME() == "guireleaser") {
- log.Info("This is not forge")
- return log.Errorf("Only forge can save the forge config file")
- }
-
- // migrate from the old gopath to "namespace"
- for fc := range f.Config.IterAll() {
- if fc.Namespace != "" {
- continue
- }
- if fc.Namespace != fc.GoPath {
- fc.Namespace = fc.GoPath
- }
- // todo: deprecate this
- // fc.GoPath = "" // I want to do this but it might be a bad idea at this point
- }
- log.Info("Okay, this is", argvpb.GetAPPNAME())
-
- if err := f.Config.ConfigSave(); err != nil {
- log.Info("forge.Config.ConfigSave() error", err)
- return err
- }
- return nil
-}
-
-func (f *Forge) SaveRepos() error {
- if ENV.Verbose() {
- return f.Repos.SaveVerbose()
- }
- return f.Repos.Save()
-}
-
func (f *Forge) SetMode(newmode ForgeMode) error {
if f.mode == newmode {
// nothing changed
@@ -73,25 +28,6 @@ func (f *Forge) SetMode(newmode ForgeMode) error {
return err
}
-// functions to import and export the protobuf
-// data to and from config files
-
-// write to ~/.config/forge/
-func (cfg *ForgeConfigs) ConfigSave() error {
- var header string
- header += "\n"
- header += "# the forge config file\n"
- header += "# You can customize things like:\n"
- header += "#\n"
- header += "# * which repos you have write access to\n"
- header += "# * custom branch names for 'master', 'devel' and 'user'\n"
- header += "# * 'favorites' so you can remember which things you like\n"
- header += "# * sometimes protobuf TEXT can fail so as a backup this also creates a .json file\n"
- header += "#\n"
- header += "\n"
- return config.ConfigSaveWithHeader(cfg, header)
-}
-
func loadStdConfig() (*ForgeConfigs, error) {
cfg := NewForgeConfigs()
err := cfg.loadConfig()
@@ -121,7 +57,7 @@ func makeDefaultConfig() (*ForgeConfigs, error) {
cfg.addSampleConfigs()
ENV.PrintTable()
var err error
- if err = cfg.SaveVerbose(); err != nil {
+ if err = cfg.saveVerbose(); err != nil {
log.Info("config save error:", err)
}
return cfg, err
diff --git a/doDirty.go b/doDirty.go
index 17df64d..94a58ed 100644
--- a/doDirty.go
+++ b/doDirty.go
@@ -28,6 +28,7 @@ func (f *Forge) CheckDirtyQuiet() {
}
}
if changed {
+ f.Save()
log.Printf("dirty check (%d dirty repos) (%d total repos) (%d changed) (%s)\n", end, f.Repos.Len(), diff, shell.FormatDuration(time.Since(now)))
}
}
diff --git a/forgeConfig.SaveVerbose.go b/forgeConfig.SaveVerbose.go
index 57abf69..089ffe8 100644
--- a/forgeConfig.SaveVerbose.go
+++ b/forgeConfig.SaveVerbose.go
@@ -15,16 +15,6 @@ import (
"go.wit.com/log"
)
-func (pb *ForgeConfigs) SaveVerbose() error {
- err := config.SavePB(pb)
- if err == nil {
- log.Printf("Saved %s with len(%d) ForgeConfigs.\n", pb.Filename, pb.Len())
- } else {
- log.Printf("Save err %s with len(%d) ForgeConfigs. err(%v)\n", pb.Filename, pb.Len(), err)
- }
- return err
-}
-
func (pb *ForgeConfigs) loadConfig() error {
filename, err := config.LoadByAppName(pb, "forge", "forge")
if err != nil {
diff --git a/init.go b/init.go
index 9ccf1b8..214091f 100644
--- a/init.go
+++ b/init.go
@@ -126,12 +126,12 @@ func (f *Forge) SetConfigSave(b bool) {
// saves the config if there have been changes
func (f *Forge) Close() error {
- if err := f.ConfigSave(); err != nil {
+ if err := f.Save(); err != nil {
return err
}
if f.Repos != nil {
if config.HasChanged("repos") {
- if err := f.Repos.Save(); err != nil {
+ if err := f.Repos.SaveVerbose(); err != nil {
log.Info("forge.Repos.ConfigSave() error", err)
return err
}