package gitpb // does processing on the go.mod and go.sum files import ( "go.wit.com/log" ) func (repo *Repo) setRepoState() { if repo == nil { return } if repo.IsDirty() { repo.State = "dirty" return } if repo.GetUserVersion() == "uerr" { // user has not made user branches } else { if repo.GetUserVersion() != repo.GetDevelVersion() { repo.State = "merge to devel" return } } if repo.GetDevelVersion() != repo.GetMasterVersion() { 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 = "ready to release" return } if repo.CheckBranches() { repo.State = "PERFECT" return } log.Info("Branches are not Perfect", repo.GetFullPath()) log.Info("Branches are not Perfect", repo.GetFullPath()) 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 }