summaryrefslogtreecommitdiff
path: root/gitConfig.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-26 09:34:13 -0600
committerJeff Carr <[email protected]>2024-01-26 09:34:13 -0600
commit9147079092f410d9039063846118b998c10f3dda (patch)
treef66dd566d22ecc435f009e283ab413cce8cfe4df /gitConfig.go
parent2723e5339600e19c0c32fd2e8859d377f965b3cd (diff)
automation improvements
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'gitConfig.go')
-rw-r--r--gitConfig.go89
1 files changed, 79 insertions, 10 deletions
diff --git a/gitConfig.go b/gitConfig.go
index 559375a..5509ccf 100644
--- a/gitConfig.go
+++ b/gitConfig.go
@@ -314,6 +314,75 @@ func (rs *RepoStatus) ScanGoSrc() {
}
}
+// check if it is safe to remake the go.sum & go.mod files
+func (rs *RepoStatus) CheckSafeGoSumRemake() (bool, []string) {
+ if rs.ReadGoMod() {
+ log.Log(INFO, "parsed go.mod", rs.realPath.String())
+ } else {
+ log.Log(WARN, "Something went wrong parsing go.mod", rs.realPath.String())
+ return false, nil
+ }
+ log.Log(WARN, "go.sum:", rs.realPath.String())
+ var clean []string
+ for depname, version := range rs.goConfig {
+ if strings.HasSuffix(depname, "/v2") {
+ log.Log(WARN, " FOUND /v2 wierd golang stuff. instead, look for:", depname)
+ depname = strings.TrimSuffix(depname, "/v2")
+ }
+ log.Log(WARN, " ", depname, version)
+ deprs, ok := windowMap[depname]
+ if ok {
+ if deprs.CheckDirty() {
+ log.Log(WARN, " IS DIRTY", deprs.String())
+ clean = append(clean, deprs.String())
+ }
+ if deprs.readOnly.String() == "true" {
+ log.Log(WARN, " SKIPPING Read Only", deprs.String())
+ } else {
+ goSumS := deprs.goSumStatus.String()
+ log.Log(WARN, " FOUND", deprs.String(), goSumS)
+ username := deprs.userWorkingName.String()
+ userhash, _ := deprs.gitConfig.hashes[username]
+ userversion, _ := deprs.gitConfig.versions[userhash]
+ log.Log(WARN, " username :"+username, userhash)
+ log.Log(WARN, " username :"+username, userversion)
+ if version == userversion {
+ log.Log(WARN, " USER VERSIONS MATCH", version, userversion)
+ if deprs.goSumStatus.String() == "BAD" {
+ log.Log(WARN, " USER VERSION IS BAD!! return false")
+ clean = append(clean, deprs.String())
+ }
+ } else {
+ switch goSumS {
+ case "CLEAN":
+ log.Log(WARN, " USER VERSIONS MISMATCH", version, userversion)
+ log.Log(WARN, " IGNORE CLEAN REPO")
+ case "PRIMATIVE":
+ log.Log(WARN, " USER VERSIONS MISMATCH", version, userversion)
+ log.Log(WARN, " IGNORE PRIMATIVE REPO")
+ default:
+ log.Log(WARN, " USER VERSIONS MISMATCH", version, userversion)
+ clean = append(clean, deprs.String())
+ }
+ }
+ }
+ } else {
+ log.Log(WARN, " NOT FOUND", depname)
+ // only fail on our stuff
+ if strings.HasPrefix(depname, "go.wit.com") {
+ // log.Log(WARN, " go get -v", depname)
+ // rs.RunCmd([]string{"go", "get", "-v", depname})
+ return false, clean
+ }
+ log.Log(WARN, " NOT FOUND BUT IGNORING FOR NOW")
+ }
+ }
+ if len(clean) == 0 {
+ return true, nil
+ }
+ return false, clean
+}
+
func (rs *RepoStatus) CheckGoSum() (bool, string) {
if rs.ReadGoMod() {
log.Log(INFO, "parsed go.mod", rs.realPath.String())
@@ -328,24 +397,24 @@ func (rs *RepoStatus) CheckGoSum() (bool, string) {
depname = strings.TrimSuffix(depname, "/v2")
}
log.Log(WARN, " ", depname, version)
- newrs, ok := windowMap[depname]
+ deprs, ok := windowMap[depname]
if ok {
- if newrs.CheckDirty() {
- log.Log(WARN, " IS DIRTY", newrs.String())
+ if deprs.CheckDirty() {
+ log.Log(WARN, " IS DIRTY", deprs.String())
return false, ""
}
- if newrs.readOnly.String() == "true" {
- log.Log(WARN, " SKIPPING Read Only", newrs.String())
+ if deprs.readOnly.String() == "true" {
+ log.Log(WARN, " SKIPPING Read Only", deprs.String())
} else {
- log.Log(WARN, " FOUND", newrs.String())
- username := newrs.userWorkingName.String()
- userhash, _ := newrs.gitConfig.hashes[username]
- userversion, _ := newrs.gitConfig.versions[userhash]
+ log.Log(WARN, " FOUND", deprs.String(), deprs.goSumStatus.String())
+ username := deprs.userWorkingName.String()
+ userhash, _ := deprs.gitConfig.hashes[username]
+ userversion, _ := deprs.gitConfig.versions[userhash]
log.Log(WARN, " username :"+username, userhash)
log.Log(WARN, " username :"+username, userversion)
if version == userversion {
log.Log(WARN, " USER VERSIONS MATCH", version, userversion)
- if newrs.goSumStatus.String() == "BAD" {
+ if deprs.goSumStatus.String() == "BAD" {
log.Log(WARN, " USER VERSION IS BAD!! return false")
return false, ""
}