// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 package gitpb import ( "go.wit.com/lib/gui/shell" "go.wit.com/log" ) func (pb *Repos) PrintPublishNewTB() string { tablePB := pb.MakePublishNewTB() tablePB.PrintTable() var dirty int // var writable int // need forge to determine this var bins int var protos int for repo := range pb.IterAll() { if repo.IsDirty() { dirty += 1 } if repo.IsBinary() { bins += 1 } if repo.IsProtobuf() { protos += 1 } } return log.Sprintf("gitpb.PublishNewTB: total=(%d) dirty=(%d) binaries=(%d) protobufs(%d)", pb.Len(), dirty, bins, protos) } func (pb *Repos) MakePublishNewTB() *ReposTable { t := pb.NewTable("gitpb Publish Table") t.NewUuid() var col *RepoFunc col = t.AddNamespace() col.Width = 33 col = t.AddCurrentBranchName() col.Width = 7 col.Header.Name = "current" col = t.AddStringFunc("age", func(r *Repo) string { if r.IsDirty() { return "" } dur := r.NewestAge() return shell.FormatDuration(dur) }) col.Width = 3 col = t.AddMasterVersion() col.Width = 12 col.Header.Name = "master" col = t.AddLastTag() col.Width = 12 col.Header.Name = "lasttag" col = t.AddTargetVersion() col.Width = 12 col.Header.Name = "target ver" col = t.AddStringFunc("type", func(r *Repo) string { return getRepoType(r) }) col.Width = 6 col = t.AddState() col.Width = -1 return t }