skip git checkout when IsReadOnly(repo)
This commit is contained in:
parent
5db343390b
commit
b34caae965
|
@ -0,0 +1,34 @@
|
|||
package main
|
||||
|
||||
/*
|
||||
this parses the command line arguements
|
||||
this enables command line options from other packages like 'gui' and 'log'
|
||||
*/
|
||||
|
||||
import (
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
// okay
|
||||
func checkoutDevel() bool {
|
||||
log.Info("running git checkout devel everwhere")
|
||||
var failed int = 0
|
||||
var count int = 0
|
||||
loop := me.repos.View.ReposSortByName()
|
||||
for loop.Scan() {
|
||||
repo := loop.Repo()
|
||||
count += 1
|
||||
|
||||
// don't switch branches on readonly repos
|
||||
if me.forge.IsReadOnly(repo.GoPath()) {
|
||||
continue
|
||||
}
|
||||
if repo.Status.CheckoutDevel() {
|
||||
// checkout ok
|
||||
} else {
|
||||
failed += 1
|
||||
}
|
||||
}
|
||||
log.Info("Ran git checkout in", count, "repos. failure count =", failed)
|
||||
return true
|
||||
}
|
2
main.go
2
main.go
|
@ -18,6 +18,8 @@ var myargv argv
|
|||
func main() {
|
||||
me = new(autoType)
|
||||
|
||||
standardMachineInit()
|
||||
|
||||
log.DaemonMode(false)
|
||||
me.myGui = gui.New()
|
||||
if !myargv.GitPull {
|
||||
|
|
|
@ -3,6 +3,7 @@ package main
|
|||
import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/go-cmd/cmd"
|
||||
|
||||
"go.wit.com/lib/gui/shell"
|
||||
|
@ -16,16 +17,34 @@ import (
|
|||
func attemptAutoRebuild() bool {
|
||||
gosrc := me.goSrcPwd.String()
|
||||
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/apps/autotypist"}); !ok { return buildDied(r) }
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/debian"}); !ok { return buildDied(r) }
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/tree"}); !ok { return buildDied(r) }
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/nocui"}); !ok { return buildDied(r) }
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/gocui"}); !ok { return buildDied(r) }
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/andlabs"}); !ok { return buildDied(r) }
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/apps/autotypist"}); !ok {
|
||||
return buildDied(r)
|
||||
}
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/debian"}); !ok {
|
||||
return buildDied(r)
|
||||
}
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/tree"}); !ok {
|
||||
return buildDied(r)
|
||||
}
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/nocui"}); !ok {
|
||||
return buildDied(r)
|
||||
}
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/gocui"}); !ok {
|
||||
return buildDied(r)
|
||||
}
|
||||
if r, ok := quickCmd(gosrc, []string{"go-clone", "--recursive", "go.wit.com/toolkits/andlabs"}); !ok {
|
||||
return buildDied(r)
|
||||
}
|
||||
|
||||
if r, ok := quickCmd(filepath.Join(gosrc, "go.wit.com/toolkits/nocui/"), []string{"make"}); !ok { return buildDied(r) }
|
||||
if r, ok := quickCmd(filepath.Join(gosrc, "go.wit.com/toolkits/gocui/"), []string{"make"}); !ok { return buildDied(r) }
|
||||
if r, ok := quickCmd(filepath.Join(gosrc, "go.wit.com/toolkits/andlabs/"), []string{"make"}); !ok { return buildDied(r) }
|
||||
if r, ok := quickCmd(filepath.Join(gosrc, "go.wit.com/toolkits/nocui/"), []string{"make"}); !ok {
|
||||
return buildDied(r)
|
||||
}
|
||||
if r, ok := quickCmd(filepath.Join(gosrc, "go.wit.com/toolkits/gocui/"), []string{"make"}); !ok {
|
||||
return buildDied(r)
|
||||
}
|
||||
if r, ok := quickCmd(filepath.Join(gosrc, "go.wit.com/toolkits/andlabs/"), []string{"make"}); !ok {
|
||||
return buildDied(r)
|
||||
}
|
||||
|
||||
// build the protobuf files
|
||||
// TODO: verify the right protoc-gen-go exists
|
||||
|
@ -33,7 +52,10 @@ func attemptAutoRebuild() bool {
|
|||
log.Warn("missing /usr/bin/protc-gen-go. apt install protoc-gen-go")
|
||||
return false
|
||||
}
|
||||
quickCmd(filepath.Join(gosrc, "go.wit.com/lib/protobuf/forgepb/"), []string{"make"})
|
||||
quickCmd(filepath.Join(gosrc, "go.wit.com/lib/protobuf/virtbuf/"), []string{"make"})
|
||||
quickCmd(filepath.Join(gosrc, "go.wit.com/lib/protobuf/zoopb/"), []string{"make"})
|
||||
|
||||
quickCmd(filepath.Join(gosrc, "go.wit.com/apps/autotypist/"), []string{"make", "build"})
|
||||
return true
|
||||
}
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"go.wit.com/lib/protobuf/forgepb"
|
||||
"go.wit.com/log"
|
||||
)
|
||||
|
||||
// does a standard forgepb & zoopb init
|
||||
|
||||
func standardMachineInit() {
|
||||
var err error
|
||||
// load the ~/.config/forge/ config
|
||||
if err = me.forge.ConfigLoad(); err != nil {
|
||||
log.Warn("forgepb.ConfigLoad() failed", err)
|
||||
os.Exit(-1)
|
||||
}
|
||||
|
||||
me.forge.PrintTable()
|
||||
|
||||
// load the ~/.config/forge/ machine file from zoopb
|
||||
if err = me.machine.ConfigLoad(); err != nil {
|
||||
log.Warn("zoopb.ConfigLoad() failed", err)
|
||||
os.Exit(-1)
|
||||
}
|
||||
me.machine.InitWit()
|
||||
|
||||
// list all packages from mirrors.wit.com
|
||||
/*
|
||||
loop := me.machine.Wit.SortByName()
|
||||
for loop.Scan() {
|
||||
p := loop.Package()
|
||||
log.Info("package:", p.Name, p.Version, p.PkgName)
|
||||
}
|
||||
*/
|
||||
|
||||
// use ~/go/src unless we find a go.work file in a parent directory
|
||||
if me.goSrcPath, err = forgepb.FindGoSrc(); err != nil {
|
||||
log.Info(err)
|
||||
os.Exit(-1)
|
||||
}
|
||||
|
||||
// this ENV value is used by the repolist and repostatus packages
|
||||
if me.goSrcPath != "" {
|
||||
os.Setenv("REPO_WORK_PATH", me.goSrcPath)
|
||||
|
||||
}
|
||||
}
|
11
structs.go
11
structs.go
|
@ -3,6 +3,8 @@ package main
|
|||
import (
|
||||
"go.wit.com/gui"
|
||||
"go.wit.com/lib/gadgets"
|
||||
"go.wit.com/lib/protobuf/forgepb"
|
||||
"go.wit.com/lib/protobuf/zoopb"
|
||||
)
|
||||
|
||||
var me *autoType
|
||||
|
@ -17,6 +19,15 @@ func (b *autoType) Enable() {
|
|||
|
||||
// this app's variables
|
||||
type autoType struct {
|
||||
// your customized repo preferences and settings
|
||||
forge forgepb.Repos
|
||||
|
||||
// where your ~/go/src is
|
||||
goSrcPath string
|
||||
|
||||
// use zookeeper to get the list of installed packages
|
||||
machine zoopb.Machine
|
||||
|
||||
// allrepos map[string]*repo
|
||||
myGui *gui.Node
|
||||
|
||||
|
|
Loading…
Reference in New Issue