summaryrefslogtreecommitdiff
path: root/tablePublishNew.go
diff options
context:
space:
mode:
Diffstat (limited to 'tablePublishNew.go')
-rw-r--r--tablePublishNew.go74
1 files changed, 74 insertions, 0 deletions
diff --git a/tablePublishNew.go b/tablePublishNew.go
new file mode 100644
index 0000000..a3d9a32
--- /dev/null
+++ b/tablePublishNew.go
@@ -0,0 +1,74 @@
+// 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
+}