diff options
| -rw-r--r-- | doMode.go | 44 | ||||
| -rw-r--r-- | main.go | 33 |
2 files changed, 48 insertions, 29 deletions
diff --git a/doMode.go b/doMode.go new file mode 100644 index 0000000..2094754 --- /dev/null +++ b/doMode.go @@ -0,0 +1,44 @@ +// Copyright 2017-2025 WIT.COM Inc. All rights reserved. +// Use of this source code is governed by the GPL 3.0 + +package main + +import ( + "time" + + "go.wit.com/lib/gui/shell" + "go.wit.com/lib/protobuf/forgepb" + "go.wit.com/log" +) + +// FORGE USES THESE TO RECOVER FROM WHEN TOOLKITS FAIL TO LOAD +// so don't delete them +func doMode() (string, error) { + if argv.Mode.Normal != nil { + if doNormal() { + setForgeMode(forgepb.ForgeMode_NORMAL) + log.Infof("all your %d repos are in a normal stete for development\n", me.forge.Repos.Len()) + okExit("") + } + start := time.Now() + err := me.forge.DoAllCheckoutUser(argv.Force) + dur := time.Since(start) + log.Printf("Checked out %d user braches in %s\n", me.forge.Repos.Len(), shell.FormatDuration(dur)) + if err != nil { + me.sh.BadExit("not everything on user braches", err) + } + setForgeMode(forgepb.ForgeMode_NORMAL) + log.Info("normal mode on") + return "normal mode on", nil + } + + if argv.Mode.User != nil { + setForgeMode(forgepb.ForgeMode_USER) + return "user mode on", nil + } + if argv.Mode.Master != nil { + setForgeMode(forgepb.ForgeMode_MASTER) + return "master mode on", nil + } + return "nothing done", nil +} @@ -8,10 +8,8 @@ package main import ( "embed" "strings" - "time" "go.wit.com/lib/gui/prep" - "go.wit.com/lib/gui/shell" "go.wit.com/lib/protobuf/forgepb" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" @@ -100,34 +98,11 @@ func main() { } if argv.Mode != nil { - if argv.Mode.Normal != nil { - if doNormal() { - setForgeMode(forgepb.ForgeMode_NORMAL) - log.Infof("all your %d repos are in a normal stete for development\n", me.forge.Repos.Len()) - okExit("") - } - start := time.Now() - err := me.forge.DoAllCheckoutUser(argv.Force) - dur := time.Since(start) - log.Printf("Checked out %d user braches in %s\n", me.forge.Repos.Len(), shell.FormatDuration(dur)) - if err != nil { - me.sh.BadExit("not everything on user braches", err) - } - setForgeMode(forgepb.ForgeMode_NORMAL) - okExit("") - log.Info("normal mode on") - okExit("") - } - - if argv.Mode.User != nil { - setForgeMode(forgepb.ForgeMode_USER) - okExit("") - } - if argv.Mode.Master != nil { - setForgeMode(forgepb.ForgeMode_MASTER) - okExit("") + if s, err := doMode(); err != nil { + me.sh.BadExit(s, err) + } else { + me.sh.GoodExit(s) } - okExit("") } // if you are in "normal" mode, always run normal every time to catch accidental errors |
