diff options
| -rw-r--r-- | branches.go | 4 | ||||
| -rw-r--r-- | init.go | 7 | ||||
| -rw-r--r-- | repoNew.go | 4 | ||||
| -rw-r--r-- | rill.go | 14 | ||||
| -rw-r--r-- | structs.go | 1 |
5 files changed, 22 insertions, 8 deletions
diff --git a/branches.go b/branches.go index 2f72127..a503a96 100644 --- a/branches.go +++ b/branches.go @@ -205,10 +205,10 @@ func (f *Forge) makeUserBranches() error { } func testReload(repo *gitpb.Repo) error { - if !repo.DidRepoChange() { + if !repo.HasChanged() { return nil } - repo.Reload() + repo.ReloadCheck() return log.Errorf("repo changed") } @@ -92,6 +92,13 @@ func (f *Forge) Exit() { if f.configSave { f.ConfigSave() } + if f.Repos != nil { + if config.HasChanged("repos") { + if err := f.Repos.ConfigSave(f.Config.ReposPB); err != nil { + log.Info("forge.Repos.ConfigSave() error", err) + } + } + } // log.Info("forge.Exit() ok") os.Exit(0) } @@ -35,7 +35,7 @@ func (f *Forge) NewGoRepo(gopath string, url string) (*gitpb.Repo, error) { if f.Config.IsReadOnly(repo.GetGoPath()) { repo.ReadOnly = true } - repo.Reload() + repo.ReloadCheck() return repo, nil } @@ -52,7 +52,7 @@ func (f *Forge) AddNamespaceDir(ns string, fullpath string) (*gitpb.Repo, error) } f.VerifyBranchNames(repo) - repo.Reload() + repo.ReloadCheck() // set the readonly flag based on the users' forge config if f.Config.IsReadOnly(repo.GetGoPath()) { @@ -48,10 +48,10 @@ func (f *Forge) updateRepo(repo *gitpb.Repo) error { return nil } - if repo.DidRepoChange() { + if repo.HasChanged() { f.configSave = true // log.Info("repo changed ", repo.FullPath, repo.StateChange) - if err := repo.Reload(); err != nil { + if err := repo.ReloadCheck(); err != nil { return err } } else { @@ -80,6 +80,9 @@ func (f *Forge) RillReload() int { for repo := range f.Repos.IterAll() { if !repo.IsValidDir() { log.Printf("%s %-50s\n", "got an invalid repo in forgepb.RillReload()", repo.GetFullPath()) + f.Repos.Delete(repo) + f.reposSave = true + log.Info("reposSave = true") continue } all = append(all, repo) @@ -95,11 +98,11 @@ func (f *Forge) RillReload() int { }) rill.ForEach(dirs, RillY, func(repo *gitpb.Repo) error { - if !repo.DidRepoChange() { + if !repo.HasChanged() { return nil } f.configSave = true - repo.Reload() + repo.ReloadCheck() counter += 1 return nil }) @@ -142,6 +145,9 @@ func (f *Forge) RillRepos(rillf func(*gitpb.Repo) error) map[string]*RillStats { for repo := range f.Repos.IterAll() { if !repo.IsValidDir() { log.Printf("got an invalid repo in forgepb.RillRepos() %-50s\n", repo.GetFullPath()) + f.Repos.Delete(repo) + f.reposSave = true + log.Info("reposSave = true") continue } all = append(all, repo) @@ -14,6 +14,7 @@ type Forge struct { Repos *gitpb.Repos // the repo protobufs Patchsets *Patchsets // patches that are in progress configSave bool // if you need to save the config because things changed + reposSave bool // if you need to save the repos file hostname string // your hostname rillX int // used for Rill() rillY int // used for Rill() |
