gitpb/gitTag.byAge.go

44 lines
847 B
Go
Raw Permalink Normal View History

2024-12-06 01:50:28 -06:00
package gitpb
// runs git, parses output
// types faster than you can
import (
"sort"
"time"
)
func (all *GitTags) SortByAge() *GitTagIterator {
packs := all.selectAllGitTag()
sort.Sort(GitTagAge(packs))
iterator := NewGitTagIterator(packs)
return iterator
}
type GitTagAge []*GitTag
func (a GitTagAge) Len() int { return len(a) }
// sorts in ? order
func (a GitTagAge) Less(i, j int) bool {
if time.Since(a[i].Authordate.AsTime()) < time.Since(a[j].Authordate.AsTime()) {
return true
}
return false
}
func (a GitTagAge) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
2024-12-14 11:28:34 -06:00
func (repo *Repo) NewestAge() time.Duration {
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())
*/
2024-12-14 11:28:34 -06:00
}