31 lines
806 B
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)
|
|
}
|