// 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 }