diff options
| -rw-r--r-- | gitTag.byAge.go | 15 | ||||
| -rw-r--r-- | reloadTags.go | 12 | ||||
| -rw-r--r-- | 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 } @@ -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 |
