summaryrefslogtreecommitdiff
path: root/doPull.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-07-07 23:07:12 -0500
committerJeff Carr <[email protected]>2025-07-07 23:07:12 -0500
commit807049f6c7b319caa60a20f53221bcb81b1168d9 (patch)
treeb41be536704a1202d7d8134eeba265c7b4226cc4 /doPull.go
parent86e513d845acc63b7d3371aaa41ce7d19603f473 (diff)
add 'forge merge master'v0.22.123
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
+}