summaryrefslogtreecommitdiff
path: root/doPull.go
diff options
context:
space:
mode:
Diffstat (limited to 'doPull.go')
-rw-r--r--doPull.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/doPull.go b/doPull.go
index 6e341b2..fe581cb 100644
--- a/doPull.go
+++ b/doPull.go
@@ -168,3 +168,33 @@ func doMergeDevel() (*gitpb.Repos, error) {
}
return done, err
}
+
+func doMergeMaster() (*gitpb.Repos, error) {
+ var err error
+ done := gitpb.NewRepos()
+ found := findMergeToMaster()
+ for repo := range found.IterAll() {
+ if repo.CheckDirty() {
+ log.Info("repo is dirty", repo.GetGoPath())
+ continue
+ }
+
+ log.Info("Starting merge on", repo.GetGoPath())
+ if repo.CheckoutMaster() {
+ log.Info("checkout devel failed", repo.GetGoPath())
+ err = fmt.Errorf("checkout devel failed")
+ break
+ }
+
+ if _, err := repo.MergeToMaster(); err != nil {
+ log.Info("merge from user failed", repo.GetGoPath(), err)
+ err = fmt.Errorf("merge from user failed")
+ // log.Info(strings.Join(r.Stdout, "\n"))
+ // log.Info(strings.Join(r.Stderr, "\n"))
+ break
+ }
+
+ done.Append(repo)
+ }
+ return done, err
+}