summaryrefslogtreecommitdiff
path: root/doPull.go
diff options
context:
space:
mode:
Diffstat (limited to 'doPull.go')
-rw-r--r--doPull.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/doPull.go b/doPull.go
index b4aff68..9bfbc34 100644
--- a/doPull.go
+++ b/doPull.go
@@ -131,3 +131,40 @@ func doGitFetch() {
me.forge.ConfigSave()
}
}
+
+func doMergeDevel() (*gitpb.Repos, error) {
+ var err error
+ done := gitpb.NewRepos()
+ found := findMergeToDevel()
+ 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.CheckoutDevel() {
+ log.Info("checkout devel failed", repo.GetGoPath())
+ err = fmt.Errorf("checkout devel failed")
+ break
+ }
+ if _, err := repo.MergeToDevel(); 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)
+ /*
+ if repo.CheckoutMaster() {
+ log.Info("checkout master failed", repo.GetGoPath())
+ return
+ }
+ if _, err := repo.MergeToMaster(); err != nil {
+ log.Info("merge from devel failed", repo.GetGoPath(), err)
+ return
+ }
+ */
+ }
+ return done, err
+}