From 66d0426ccc05f7b88c102739f1f7f37984d927ac Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Tue, 21 Oct 2025 16:25:45 -0500 Subject: load PatchesPB --- Load.go | 29 +++++++++++++++-------------- init.go | 11 +++++++++-- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/Load.go b/Load.go index 8a5118f..b6ffdd3 100644 --- a/Load.go +++ b/Load.go @@ -11,6 +11,7 @@ package forgepb import ( "errors" + "os" "go.wit.com/lib/ENV" "go.wit.com/lib/config" @@ -60,24 +61,24 @@ func (f *Forge) reposCacheLoad() error { return err } -/* -func (f *Forge) loadPatchsets() error { - f.Patchsets = NewSets() - - data, err := os.ReadFile(config.Get("PatchPB")) - if err != nil { - return err +func (f *Forge) patchesCacheLoad() error { + if f.Patches != nil { + return errors.New("already loaded") + } + f.Patches = NewPatches() + err := config.LoadAppnameCache(f.Patches, "forge") + if errors.Is(err, os.ErrNotExist) { + // is a new file + f.Patches.Save() + return os.ErrNotExist } - - err = f.Patchsets.Unmarshal(data) if err != nil { - log.Infof("LoadPatchsets() proto.Marshal() error %v\n", err) - return err + log.Printf("patchesCacheLoad() failed err (%v) filename (%s)\n", err, f.Patches.Filename) + panic("failed to load patches") } - // log.Infof("LoadPatchsets() found %d patches.\n", f.Patchsets.Len()) - return nil + ENV.SetGlobal("lib/forgepb", "PatchesPB", f.Patches.Filename) + return err } -*/ func makeDefaultConfig() (*ForgeConfigs, error) { cfg := NewForgeConfigs() diff --git a/init.go b/init.go index 10f905b..c755466 100644 --- a/init.go +++ b/init.go @@ -66,14 +66,14 @@ func (f *Forge) postInit() error { // always define if ENV.Get("username") == "" { usr, _ := user.Current() - ENV.Set("username", usr.Username) + ENV.SetGlobal("lib/forgepb", "username", usr.Username) ENV.Save() } // always define if ENV.Get("homeDir") == "" { homeDir, _ := os.UserHomeDir() - ENV.Set("homeDir", homeDir) + ENV.SetGlobal("lib/forgepb", "homeDir", homeDir) ENV.Save() } @@ -113,5 +113,12 @@ func (f *Forge) postInit() error { log.Printf("forge failed to load %s file with len(%d) repos err=(%v)\n", f.Repos.Filename, f.Repos.Len(), err) panic("failed to load repos.pb") } + err = f.patchesCacheLoad() // loads the file from ~/.cache/forge/patches.pb + if err == nil { + // log.Printf("forge loaded %s file with len(%d) repos\n", f.Repos.Filename, f.Repos.Len()) + } else { + log.Printf("forge failed to load %s file with len(%d) patches err=(%v)\n", f.Patches.Filename, f.Patches.Len(), err) + panic("failed to load repos.pb") + } return err } -- cgit v1.2.3