package main import ( "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" ) func doGitPull() { allerr := me.found.RillGitPull(40, 5) all := me.found.SortByFullPath() for all.Scan() { repo := all.Next() result := allerr[repo] if result.Error == gitpb.ErrorGitPullOnDirty { log.Info("skip git pull. repo is dirty", repo.GetGoPath()) continue } if result.Error == gitpb.ErrorGitPullOnLocal { log.Info("skip git pull. local branch ", repo.GetGoPath()) continue } if result.Exit == 0 { continue } log.Info("git pull error:", repo.GetGoPath(), result.Error) log.Info("git pull error:", repo.GetGoPath(), result.Stdout) } } // git fetch origin master:master func rillFetchMaster(repo *gitpb.Repo) error { if repo.GetCurrentBranchName() != repo.GetUserBranchName() { // only fetch when branch is on the user branch return nil } branch := repo.GetMasterBranchName() cmd := []string{"git", "fetch", "origin", branch + ":" + branch} _, err := repo.RunVerbose(cmd) return err } func doGitFetch() { me.forge.RillFuncError(rillFetchMaster) count := me.forge.RillReload() if count != 0 { me.forge.ConfigSave() } }