go-clone/gitPull.go

31 lines
806 B
Go

package main
import (
"go.wit.com/lib/gui/shell"
"go.wit.com/log"
)
func gitPull() {
log.Info("Total repositories:", forge.Repos.Len())
log.Info("Going to run git pull in each one. TODO: use rill here")
pull := []string{"git", "pull"}
var trycount, errcount int
repos := forge.Repos.SortByFullPath()
for repos.Scan() {
repo := repos.Next()
if argv.DryRun {
log.Info("git pull --dry-run", repo.GetGoPath())
continue
}
log.Info("git pull:", repo.FullPath)
trycount += 1
log.Info("actually run: git pull:", repo.GetGoPath())
if result := shell.PathRunRealtime(repo.FullPath, pull); result.Error != nil {
log.Info("git pull error:", result.Error)
errcount += 1
}
}
log.Info("Total repositories:", forge.Repos.Len(), "Total attempted:", trycount, "Errors:", errcount)
}