exec things to STDOUT
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
804acc169a
commit
2ce9051921
2
git.go
2
git.go
|
@ -298,7 +298,7 @@ func (rs *RepoStatus) CheckoutUser() bool {
|
||||||
log.Log(REPO, rs.realPath.String(), "is dirty")
|
log.Log(REPO, rs.realPath.String(), "is dirty")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
if ! rs.BranchExists(bName) {
|
if !rs.BranchExists(bName) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
cmd := []string{"git", "checkout", bName}
|
cmd := []string{"git", "checkout", bName}
|
||||||
|
|
|
@ -281,5 +281,14 @@ func (rs *RepoStatus) BranchExists(branch string) bool {
|
||||||
log.Log(REPOWARN, rs.Path(), "found branch", branch, hash)
|
log.Log(REPOWARN, rs.Path(), "found branch", branch, hash)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
for i, t := range rs.Tags.tags {
|
||||||
|
base := filepath.Base(t.tag.String())
|
||||||
|
if base == branch {
|
||||||
|
log.Info("found tag:", i, t.tag.String())
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
log.Info("not tag:", i, t.tag.String())
|
||||||
|
}
|
||||||
|
log.Log(REPOWARN, rs.Path(), "did not find branch", branch)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
package repostatus
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
|
||||||
|
"go.wit.com/lib/gui/shell"
|
||||||
|
"go.wit.com/log"
|
||||||
|
)
|
||||||
|
|
||||||
|
// go list -json -m go.wit.com/apps/go-clone@latest
|
||||||
|
|
||||||
|
// go list -json -m go.wit.com/apps/go-clone@latest
|
||||||
|
// {
|
||||||
|
// "Path": "go.wit.com/apps/go-clone",
|
||||||
|
// "Version": "v0.0.6",
|
||||||
|
// "Query": "latest",
|
||||||
|
// "Time": "2024-03-10T04:12:15Z",
|
||||||
|
// "GoMod": "/home/jcarr/go/pkg/mod/cache/download/go.wit.com/apps/go-clone/@v/v0.0.6.mod",
|
||||||
|
// "GoVersion": "1.22.0"
|
||||||
|
// }
|
||||||
|
|
||||||
|
func runGoList(url string) (string, error) {
|
||||||
|
r := shell.RunPath("", []string{"go", "list", "-json", "-m", url + "@latest"})
|
||||||
|
log.Info("runGoList() r.Output =", r.Output)
|
||||||
|
var modInfo any
|
||||||
|
err := json.Unmarshal(r.Output, &modInfo)
|
||||||
|
if err != nil {
|
||||||
|
log.Info("runGoList() json.Unmarshal() error =", err)
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
log.Spew(modInfo)
|
||||||
|
return "", errors.New("todo: parse json")
|
||||||
|
}
|
3
new.go
3
new.go
|
@ -133,7 +133,8 @@ func Clone(wdir string, path string) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
var url string
|
var url string
|
||||||
if url, err = findGoImport("http://" + path); err != nil {
|
// if url, err = findGoImport("http://" + path); err != nil {
|
||||||
|
if url, err = runGoList(path); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
log.Info("URL:", url)
|
log.Info("URL:", url)
|
||||||
|
|
Loading…
Reference in New Issue