summaryrefslogtreecommitdiff
path: root/doMerge.go
diff options
context:
space:
mode:
Diffstat (limited to 'doMerge.go')
-rw-r--r--doMerge.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/doMerge.go b/doMerge.go
index 7831f52..48dd717 100644
--- a/doMerge.go
+++ b/doMerge.go
@@ -4,12 +4,61 @@
package main
import (
+ "time"
+
"go.wit.com/lib/config"
+ "go.wit.com/lib/gui/shell"
"go.wit.com/lib/protobuf/forgepb"
"go.wit.com/lib/protobuf/gitpb"
"go.wit.com/log"
)
+func doMerge() error {
+ if argv.All == true {
+ start := time.Now()
+ repos, err := doMergeDevel()
+ dur := time.Since(start)
+ if err != nil {
+ badExit(err)
+ }
+ log.Printf("Merged %d devel branches in %s\n", repos.Len(), shell.FormatDuration(dur))
+
+ start = time.Now()
+ repos, err = doMergeMaster()
+ dur = time.Since(start)
+ if err != nil {
+ badExit(err)
+ }
+ log.Printf("Merged %d master branches in %s\n", repos.Len(), shell.FormatDuration(dur))
+ okExit("")
+ }
+ if argv.Merge.Devel != nil {
+ start := time.Now()
+ repos, err := doMergeDevel()
+ dur := time.Since(start)
+ if err != nil {
+ badExit(err)
+ }
+ log.Printf("Merged %d devel branches in %s\n", repos.Len(), shell.FormatDuration(dur))
+ okExit("")
+ }
+ if argv.Merge.Master != nil {
+ start := time.Now()
+ repos, err := doMergeMaster()
+ dur := time.Since(start)
+ if err != nil {
+ badExit(err)
+ }
+ log.Printf("Merged %d master branches in %s\n", repos.Len(), shell.FormatDuration(dur))
+ okExit("")
+ }
+ repo := findCurrentPwdRepoOrDie()
+ if err := repoMergeToDevel(repo); err != nil {
+ badRepoExit(repo, err)
+ }
+ return nil
+}
+
func doMergeReport() *forgepb.Patches {
found := forgepb.NewPatches()
for repo := range me.forge.Repos.IterAll() {