summaryrefslogtreecommitdiff
path: root/currentVersions.go
diff options
context:
space:
mode:
Diffstat (limited to 'currentVersions.go')
-rw-r--r--currentVersions.go28
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
+}