From f321b46d043cebff9fec20a657c361ef5237f24b Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sun, 5 Oct 2025 11:23:44 -0500 Subject: move into seperate file --- doMode.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ main.go | 33 ++++----------------------------- 2 files changed, 48 insertions(+), 29 deletions(-) create mode 100644 doMode.go 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 +} diff --git a/main.go b/main.go index 2df1cf4..a4cadf9 100644 --- a/main.go +++ b/main.go @@ -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 -- cgit v1.2.3