diff options
Diffstat (limited to 'doMerge.go')
| -rw-r--r-- | doMerge.go | 36 |
1 files changed, 18 insertions, 18 deletions
@@ -13,13 +13,15 @@ import ( "go.wit.com/log" ) -func doMerge() error { +func doMerge() (string, error) { + var s string + var err error if argv.All == true { start := time.Now() repos, err := doMergeDevel() dur := time.Since(start) if err != nil { - badExit(err) + return "doMergeDevel() failure", err } log.Printf("Merged %d devel branches in %s\n", repos.Len(), shell.FormatDuration(dur)) @@ -27,46 +29,44 @@ func doMerge() error { repos, err = doMergeMaster() dur = time.Since(start) if err != nil { - badExit(err) + return "doMergeMaster() failure", err } - log.Printf("Merged %d master branches in %s\n", repos.Len(), shell.FormatDuration(dur)) - okExit("") + return log.Sprintf("Merged %d master branches in %s", repos.Len(), shell.FormatDuration(dur)), nil } if argv.Merge.Devel != nil { start := time.Now() repos, err := doMergeDevel() dur := time.Since(start) if err != nil { - badExit(err) + return "doMergeDevel() failure", err } - log.Printf("Merged %d devel branches in %s\n", repos.Len(), shell.FormatDuration(dur)) - okExit("") + return log.Sprintf("Merged %d devel branches in %s", repos.Len(), shell.FormatDuration(dur)), nil } if argv.Merge.Master != nil { start := time.Now() repos, err := doMergeMaster() dur := time.Since(start) if err != nil { - badExit(err) + return "doMergeMaster() failure", err } - log.Printf("Merged %d master branches in %s\n", repos.Len(), shell.FormatDuration(dur)) - okExit("") + return log.Sprintf("Merged %d master branches in %s", repos.Len(), shell.FormatDuration(dur)), nil } if argv.Merge.Check != nil { - if err := safeToPublish(); err != nil { - me.sh.BadExit("Merge is not complete. Not safe to Publish.", err) + err = safeToPublish() + if err == nil { + return "probably safe to publish and merge", nil } - okExit("") + return "Not safe to Publish.", err } - if showWorkRepos() { - // found some repos at least - } else { + s, err = findWorkRepos() + // found some repos at least + if err == nil { // every repo is in a really clean state. no extra files anywhere // no dirty repos, no repos that need to be published // nothing different between user and master branch version. not common log.Info("There does't seem to be anything to merge. Your repos are very consistent.") } - return nil + return s, err } func hashesMatch(repo *gitpb.Repo) error { |
