diff options
Diffstat (limited to 'gitTags.update.go')
| -rw-r--r-- | gitTags.update.go | 83 |
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 -} |
