diff options
Diffstat (limited to 'doMerge.go')
| -rw-r--r-- | doMerge.go | 49 |
1 files changed, 49 insertions, 0 deletions
@@ -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() { |
