// Copyright 2017-2025 WIT.COM Inc. All rights reserved. // Use of this source code is governed by the GPL 3.0 package main import ( "go.wit.com/lib/protobuf/forgepb" "go.wit.com/log" ) // these are the conceptual states for forge func doMode() (string, error) { var s string var err error if argv.Mode.Normal != nil { return doNormalAttempt() } if argv.Mode.User != nil { me.forge.SetMode(forgepb.ForgeMode_USER) log.Info("you probably want 'normal'") return "user mode on", nil } if argv.Mode.Devel != nil { s, err = doModeDevel() } if argv.Mode.Master != nil { s, err = doModeMaster() } return s, err } func doModeMaster() (string, error) { var s string var err error me.forge.SetMode(forgepb.ForgeMode_MASTER) err = me.forge.DoAllCheckoutMaster() me.forge.RescanRepos() // looks for new dirs, checks existing repos for changes s = "master mode on" return s, err } func doModeDevel() (string, error) { var s string var err error me.forge.SetMode(forgepb.ForgeMode_DEVEL) err = me.forge.DoAllCheckoutDevelNew(argv.Force) s = "devel mode on" return s, err }