diff options
Diffstat (limited to 'reloadRepoState.go')
| -rw-r--r-- | reloadRepoState.go | 33 |
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 +} |
