diff options
Diffstat (limited to 'doMode.go')
| -rw-r--r-- | doMode.go | 44 |
1 files changed, 44 insertions, 0 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 +} |
