summaryrefslogtreecommitdiff
path: root/repo.merge.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-03-18 15:15:19 -0500
committerJeff Carr <[email protected]>2025-03-18 15:15:19 -0500
commit88d25c85c2787c71ed6fc7651b4f3ce89236d235 (patch)
tree45717bae5f4527ebc8af0e919dccaa8e851e1a41 /repo.merge.go
parentdba126cfdf02df3c2ce8b0eb2083290ecd5675cf (diff)
work related to autogenpb IterBy() functions
Diffstat (limited to 'repo.merge.go')
-rw-r--r--repo.merge.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/repo.merge.go b/repo.merge.go
index 20bc5b0..dfc03d4 100644
--- a/repo.merge.go
+++ b/repo.merge.go
@@ -2,6 +2,7 @@ package gitpb
import (
"fmt"
+ "iter"
"github.com/go-cmd/cmd"
"go.wit.com/log"
@@ -91,3 +92,46 @@ func (r *Repo) MergeToMaster() (*cmd.Status, error) {
r.Reload() // rescan the repo
return result, nil
}
+
+/*
+func (x *Repos) All2() iter.Seq[*Repo] {
+ repoMu.RLock()
+ defer repoMu.RUnlock()
+
+ // Create a new slice to hold pointers to each Repo
+ var tmp []*Repo
+ tmp = make([]*Repo, len(x.Repos))
+ for i, p := range x.Repos {
+ tmp[i] = p // Copy pointers for safe iteration
+ }
+
+ // return x.Repos
+ return nil
+}
+*/
+
+func (x *Repos) IterAll() iter.Seq[*Repo] {
+ items := x.selectAllRepos()
+ return func(yield func(*Repo) bool) {
+ for _, v := range items {
+ if !yield(v) {
+ return
+ }
+ }
+ }
+}
+
+/*
+func (x *Repos) IterByFullPath() iter.Seq[*Repo] {
+ items := x.selectAllRepos()
+ sort.Sort(RepoFullPath(items))
+ log.Info("MAKING Iter.Seq[] with length", len(items))
+ return func(yield func(*Repo) bool) {
+ for _, v := range items {
+ if !yield(v) {
+ return
+ }
+ }
+ }
+}
+*/