summaryrefslogtreecommitdiff
path: root/reloadRepoState.go
diff options
context:
space:
mode:
Diffstat (limited to 'reloadRepoState.go')
-rw-r--r--reloadRepoState.go33
1 files changed, 32 insertions, 1 deletions
diff --git a/reloadRepoState.go b/reloadRepoState.go
index b4928c7..9536234 100644
--- a/reloadRepoState.go
+++ b/reloadRepoState.go
@@ -26,8 +26,13 @@ func (repo *Repo) setRepoState() {
repo.State = "merge to main"
return
}
+ // if IsGoTagVersionGreater(oldtag string, newtag string) bool {
+ if !IsGoTagVersionGreater(repo.GetLastTag(), repo.GetMasterVersion()) {
+ repo.State = "last tag greater error"
+ return
+ }
if repo.GetLastTag() != repo.GetMasterVersion() {
- repo.State = "unchanged"
+ repo.State = "ready to release"
return
}
@@ -40,3 +45,29 @@ func (repo *Repo) setRepoState() {
log.Info("Branches are not Perfect", repo.GetFullPath())
repo.State = "unknown branches"
}
+
+// returns true if old="v0.2.4" and new="v0.3.3"
+// returns true if equal
+// todo: make all of this smarter someday
+func IsGoTagVersionGreater(oldtag string, newtag string) bool {
+ olda, oldb, oldc := splitInts(oldtag)
+ newa, newb, newc := splitInts(newtag)
+
+ if newa < olda {
+ return false
+ }
+ if newb < oldb {
+ return false
+ }
+ if newc < oldc {
+ return false
+ }
+ return true
+}
+
+// returns true for "v0.2.4" and false for "v0.2.43-asdfj"
+// actually returns false for anything not perfectly versioned
+func IsGoTagPublished(oldtag string, newtag string) bool {
+ // todo
+ return true
+}