diff options
Diffstat (limited to 'currentVersions.go')
| -rw-r--r-- | currentVersions.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/currentVersions.go b/currentVersions.go index 4e9d843..4fc7814 100644 --- a/currentVersions.go +++ b/currentVersions.go @@ -6,7 +6,9 @@ package gitpb import ( "errors" "path/filepath" + "sort" "strings" + "time" "unicode" "go.wit.com/log" @@ -213,3 +215,29 @@ func trimNonNumericFromStart(s string) string { } return "" } + +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] } + +func (repo *Repo) SetTargetVersion(target string) { + repo.TargetVersion = target +} |
