diff options
| author | Jeff Carr <[email protected]> | 2024-01-26 09:34:13 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-01-26 09:34:13 -0600 |
| commit | 9147079092f410d9039063846118b998c10f3dda (patch) | |
| tree | f66dd566d22ecc435f009e283ab413cce8cfe4df /gitConfig.go | |
| parent | 2723e5339600e19c0c32fd2e8859d377f965b3cd (diff) | |
automation improvements
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'gitConfig.go')
| -rw-r--r-- | gitConfig.go | 89 |
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, "" } |
