summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-12-27 04:55:57 -0600
committerJeff Carr <[email protected]>2024-12-27 04:55:57 -0600
commit40830d3f383bd89993dec5edb0e3f7c814e7e71f (patch)
tree65d86fc419f5d9b8312bb04fd1d3e70b854ee169
parent328fbe9fdd619d0e3cb44d8529e95eb73c65692f (diff)
weird. NewestAge() took _seconds_ to run in some casesv0.0.41
-rw-r--r--gitTag.byAge.go15
-rw-r--r--reloadTags.go12
-rw-r--r--repo.proto1
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