summaryrefslogtreecommitdiff
path: root/doMode.go
diff options
context:
space:
mode:
Diffstat (limited to 'doMode.go')
-rw-r--r--doMode.go19
1 files changed, 14 insertions, 5 deletions
diff --git a/doMode.go b/doMode.go
index f19a094..a1c6279 100644
--- a/doMode.go
+++ b/doMode.go
@@ -5,26 +5,35 @@ package main
import (
"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
+// 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 {
me.forge.SetMode(forgepb.ForgeMode_DEVEL)
- return "devel mode on", nil
+ err = me.forge.DoAllCheckoutDevelNew(argv.Force)
+ s = "devel mode on"
}
if argv.Mode.Master != nil {
me.forge.SetMode(forgepb.ForgeMode_MASTER)
- return "master mode on", nil
+
+ err = me.forge.DoAllCheckoutMaster()
+ me.forge.ScanRepoDir() // looks for new dirs, checks existing repos for changes
+ me.forge.SaveRepos()
+ s = "master mode on"
}
- return "nothing done", nil
+ return s, err
}