diff options
| -rw-r--r-- | doClean.go | 4 | ||||
| -rw-r--r-- | doMode.go | 22 | ||||
| -rw-r--r-- | doNormal.go | 26 | ||||
| -rw-r--r-- | main.go | 12 |
4 files changed, 38 insertions, 26 deletions
@@ -70,13 +70,14 @@ func doClean() error { log.Info("Run: 'forge checkout master'") } } + setForgeMode(forgepb.ForgeMode_CLEAN) // fix this to work, then delete all the other options for "forge clean' if err := me.forge.DoAllCheckoutMaster(); err != nil { // badExit(err) } me.forge.ScanRepoDir() // looks for new dirs, checks existing repos for changes - me.forge.SaveRepos() + me.forge.Repos.Save() all := me.forge.Repos.SortByFullPath() for all.Scan() { @@ -127,6 +128,7 @@ func doClean() error { } log.Printf("\n") // padding for now + me.forge.Repos.Save() var hmm int hmm = found.Len() if hmm == 0 { @@ -4,34 +4,14 @@ 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) - me.forge.ScanRepoDir() // looks for new dirs, checks existing repos for changes - me.forge.SaveRepos() - 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 is 'normal' yet", err) - } - setForgeMode(forgepb.ForgeMode_NORMAL) - log.Info("normal mode on") - return "normal mode on", nil + return doNormal() } if argv.Mode.User != nil { diff --git a/doNormal.go b/doNormal.go index 629fdb7..eb39db0 100644 --- a/doNormal.go +++ b/doNormal.go @@ -15,6 +15,7 @@ import ( "go.wit.com/lib/config" "go.wit.com/lib/fhelp" "go.wit.com/lib/gui/shell" + "go.wit.com/lib/protobuf/forgepb" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" "google.golang.org/protobuf/proto" @@ -23,8 +24,31 @@ import ( // This does lots of "sanity" checking. It digs around and tries to resolve as much as possible // It'll dig into the actual git patchId to match patches since the normal hashes don't match // when you are applying with 'git am'. It tries to be thourogh (I can't spell) +func doNormal() (string, error) { + if doNormalOld() { + if me.forge.Config.Mode != forgepb.ForgeMode_NORMAL { + setForgeMode(forgepb.ForgeMode_NORMAL) + me.forge.Config.Save() + } + s := fmt.Sprintf("all your %d repos are in a normal stete for development", me.forge.Repos.Len()) + return s, nil + } + start := time.Now() + err := me.forge.DoAllCheckoutUser(argv.Force) + me.forge.ScanRepoDir() // looks for new dirs, checks existing repos for changes + me.forge.SaveRepos() + dur := time.Since(start) + log.Printf("Checked out %d user braches in %s\n", me.forge.Repos.Len(), shell.FormatDuration(dur)) + if err != nil { + return "not everything is 'normal' yet", err + } + setForgeMode(forgepb.ForgeMode_NORMAL) + me.forge.Config.Save() + log.Info("normal mode on") + return "normal mode on", nil +} -func doNormal() bool { +func doNormalOld() bool { me.forge.CheckDirtyQuiet() var count int @@ -115,12 +115,18 @@ func main() { } } + if argv.Normal != nil { + if s, err := doNormal(); err != nil { + me.sh.BadExit(s, err) + } else { + me.sh.GoodExit(s) + } + } + // if you are in "normal" mode, always run normal every time to catch accidental errors // for example, if you accidentally changed branches from your user branch if me.forge.Config.Mode == forgepb.ForgeMode_NORMAL { - if doNormal() { - log.Infof("all your %d repos are in a normal stete for development\n", me.forge.Repos.Len()) - } + doNormal() } if argv.Merge != nil { |
