From 40830d3f383bd89993dec5edb0e3f7c814e7e71f Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 27 Dec 2024 04:55:57 -0600 Subject: [PATCH] weird. NewestAge() took _seconds_ to run in some cases --- gitTag.byAge.go | 15 +++++++++------ reloadTags.go | 12 ++++++++++++ repo.proto | 1 + 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/gitTag.byAge.go b/gitTag.byAge.go index 3341e08..eacf757 100644 --- a/gitTag.byAge.go +++ b/gitTag.byAge.go @@ -31,10 +31,13 @@ func (a GitTagAge) Less(i, j int) bool { func (a GitTagAge) Swap(i, j int) { a[i], a[j] = a[j], a[i] } func (repo *Repo) NewestAge() time.Duration { - all := repo.Tags.SortByAge() - for all.Scan() { - r := all.Next() - return time.Since(r.GetAuthordate().AsTime()) - } - return time.Since(time.Now()) + return time.Since(repo.Times.NewestCommit.AsTime()) + /* + all := repo.Tags.SortByAge() + for all.Scan() { + r := all.Next() + return time.Since(r.GetAuthordate().AsTime()) + } + return time.Since(time.Now()) + */ } diff --git a/reloadTags.go b/reloadTags.go index e8409dc..2510ff1 100644 --- a/reloadTags.go +++ b/reloadTags.go @@ -66,6 +66,18 @@ func (repo *Repo) reloadGitTags() error { repo.Tags.Append(&newr) } + + // also set the repo.NewestCommit + cmd = []string{"git", "log", "-1", "--format=%cd"} + result = shell.PathRunQuiet(repo.FullPath, cmd) + if result.Error != nil { + log.Warn("git for-each-ref error:", result.Error) + return result.Error + } + newest := strings.Join(result.Stdout, "\n") + newest = strings.TrimSpace(newest) + tmp := getGitDateStamp(newest) + repo.Times.NewestCommit = timestamppb.New(tmp) return nil } diff --git a/repo.proto b/repo.proto index 9fcb0c6..0e7ec44 100644 --- a/repo.proto +++ b/repo.proto @@ -50,6 +50,7 @@ message GitTimes { google.protobuf.Timestamp mtimeIndex = 6; // mtime for ./git/HEAD // probably always in sync with HEAD google.protobuf.Timestamp mtimeFetch = 7; // mtime for ./git/FETCH_HEAD // last time 'git fetch' or 'git pull' was run on current branch? google.protobuf.Timestamp lastGoDep = 8; // mtime for last go.sum scan + google.protobuf.Timestamp newestCommit = 9; // when the newest commit was } // this is probably better. think about moving to this instead