summaryrefslogtreecommitdiff
path: root/gitTags.update.go
diff options
context:
space:
mode:
Diffstat (limited to 'gitTags.update.go')
-rw-r--r--gitTags.update.go83
1 files changed, 0 insertions, 83 deletions
diff --git a/gitTags.update.go b/gitTags.update.go
deleted file mode 100644
index 41e71ed..0000000
--- a/gitTags.update.go
+++ /dev/null
@@ -1,83 +0,0 @@
-package gitpb
-
-import (
- "slices"
- "strings"
- "time"
-
- "go.wit.com/lib/gui/shell"
- "go.wit.com/log"
- timestamppb "google.golang.org/protobuf/types/known/timestamppb"
-)
-
-// Update repo.Refs from .git/
-func (repo *Repo) UpdateGitTags() error {
- // delete the old hash
- // r.DeleteByHash(hash)
- repo.GitTags = nil
-
- tags := []string{"%(objectname)", "%(creatordate)", "%(*authordate)", "%(refname)", "%(subject)"}
- format := strings.Join(tags, "_,,,_")
- cmd := []string{"git", "for-each-ref", "--sort=taggerdate", "--format", format}
- // log.Info("RUNNING:", strings.Join(cmd, " "))
- result := shell.PathRunQuiet(repo.FullPath, cmd)
- if result.Error != nil {
- log.Warn("git for-each-ref error:", result.Error)
- return result.Error
- }
-
- lines := result.Stdout
- // reverse the git order
- slices.Reverse(lines)
-
- var refname string
- var hash string
- var subject string
- var ctime *timestamppb.Timestamp
- var atime *timestamppb.Timestamp
-
- for i, line := range lines {
- var parts []string
- parts = make([]string, 0)
- parts = strings.Split(line, "_,,,_")
- if len(parts) != 5 {
- log.Info("tag error:", i, parts)
- continue
- }
- hash = parts[0]
- if parts[1] != "" {
- tmp := getGitDateStamp(parts[1])
- ctime = timestamppb.New(tmp)
- }
- if parts[2] != "" {
- tmp := getGitDateStamp(parts[2])
- atime = timestamppb.New(tmp)
- }
- refname = parts[3]
- subject = parts[4]
-
- newr := GitTag{
- Refname: refname,
- Objectname: hash,
- Subject: subject,
- Creatordate: ctime,
- Authordate: atime,
- }
-
- repo.AppendGitTag(&newr)
- }
- return nil
-}
-
-// converts a git for-each-ref date. "Wed Feb 7 10:13:38 2024 -0600"
-func getGitDateStamp(gitdefault string) time.Time {
- // now := time.Now().Format("Wed Feb 7 10:13:38 2024 -0600")
- const gitLayout = "Mon Jan 2 15:04:05 2006 -0700"
- tagTime, err := time.Parse(gitLayout, gitdefault)
- if err != nil {
- log.Warn("GOT THIS IN PARSE AAA." + gitdefault + ".AAA")
- log.Warn(err)
- return time.Now()
- }
- return tagTime
-}