summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorforge <[email protected]>2025-10-02 15:13:58 -0500
committerJeff Carr <[email protected]>2025-10-02 15:17:19 -0500
commitb0faf8b2725a07beaa100efec92907c354e34013 (patch)
treeb44a2ac31df76d881d4c7f32f2287009b0b5d968
parent572937b9f70943dfee8c7bc6967e54b762b4e7bf (diff)
reload repos
-rw-r--r--argv.go11
-rw-r--r--doRepos.go15
2 files changed, 21 insertions, 5 deletions
diff --git a/argv.go b/argv.go
index c7576d1..6e1783e 100644
--- a/argv.go
+++ b/argv.go
@@ -39,11 +39,12 @@ type PatchCmd struct {
}
type ReposCmd struct {
- List *EmptyCmd `arg:"subcommand:list" help:"list the repos"`
- Pull *EmptyCmd `arg:"subcommand:pull" help:"'git pull' on the repos"`
- Scan *EmptyCmd `arg:"subcommand:scan" help:"scan the forged repo dir"`
- Fix *EmptyCmd `arg:"subcommand:fix" help:"try to fix the repo PB"`
- Devel *EmptyCmd `arg:"subcommand:devel" help:"list repos with devel branches"`
+ List *EmptyCmd `arg:"subcommand:list" help:"list the repos"`
+ Pull *EmptyCmd `arg:"subcommand:pull" help:"'git pull' on the repos"`
+ Scan *EmptyCmd `arg:"subcommand:scan" help:"scan the forged repo dir"`
+ Fix *EmptyCmd `arg:"subcommand:fix" help:"try to fix the repo PB"`
+ Devel *EmptyCmd `arg:"subcommand:devel" help:"list repos with devel branches"`
+ Reload *EmptyCmd `arg:"subcommand:reload" help:"gitpb.Reload() each repo"`
// Reload *EmptyCmd `arg:"subcommand:reload" help:"do Reload() on each git repo"`
// Clean *EmptyCmd `arg:"subcommand:clean" help:"clean the repos"`
// Merge *EmptyCmd `arg:"subcommand:merge" help:"merge in new patchsets"`
diff --git a/doRepos.go b/doRepos.go
index e65aab7..f1e4ddc 100644
--- a/doRepos.go
+++ b/doRepos.go
@@ -19,6 +19,7 @@ func doRepos() error {
// return doReposList()
return nil
}
+
if argv.Repos.Devel != nil {
found := gitpb.NewRepos()
for repo := range me.forge.Repos.IterAll() {
@@ -31,6 +32,20 @@ func doRepos() error {
return nil
}
+ if argv.Repos.Reload != nil {
+ var count int
+ for repo := range me.forge.Repos.IterAll() {
+ if err := repo.ReloadCheck(); err != nil {
+ count += 1
+ }
+ }
+ log.Info("repos reloaded:", count)
+ if count > 0 {
+ me.forge.SaveRepos()
+ }
+ return nil
+ }
+
if argv.Repos.Scan != nil {
log.Infof("start repos scan repos.Len()=%d %s\n", me.forge.Repos.Len(), me.forge.Config.ReposDir)
_, err := scanForgedDir(me.forge.Config.ReposDir)