From 88d25c85c2787c71ed6fc7651b4f3ce89236d235 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Tue, 18 Mar 2025 15:15:19 -0500 Subject: work related to autogenpb IterBy() functions --- repo.merge.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'repo.merge.go') 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 + } + } + } +} +*/ -- cgit v1.2.3