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) }