diff options
Diffstat (limited to 'doCheckout.go')
| -rw-r--r-- | doCheckout.go | 71 |
1 files changed, 22 insertions, 49 deletions
diff --git a/doCheckout.go b/doCheckout.go index 50feaf7..2200db8 100644 --- a/doCheckout.go +++ b/doCheckout.go @@ -10,7 +10,6 @@ import ( "time" "go.wit.com/lib/gui/shell" - "go.wit.com/lib/protobuf/forgepb" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" ) @@ -120,6 +119,14 @@ func rillCheckoutUser(repo *gitpb.Repo) error { // trys to figure out if there is still something to update func doAllCheckoutUser() error { now := time.Now() + + if argv.Force { + log.Info("going to force create user branches") + if err := makeUserBranches(); err != nil { + return err + } + } + me.forge.RillFuncError(rillCheckoutUser) count := me.forge.RillReload() if count != 0 { @@ -161,6 +168,10 @@ func rillCheckoutDevel(repo *gitpb.Repo) error { // is every repo on the devel branch? func doAllCheckoutDevel() error { now := time.Now() + if argv.Force { + log.Info("going to force create devel branches") + makeDevelBranches() + } log.Info("going to rill:") me.forge.RillFuncError(rillCheckoutDevel) count := me.forge.RillReload() @@ -254,66 +265,28 @@ func doAllCheckoutMaster() error { return nil } -// shared this with the GUI and the command line? -func doCheckoutShared() error { - if me.argvCheckoutUser { - // log.Info("Starting git checkout user") - if argv.Force { - log.Info("going to force create user branches") - if err := makeUserBranches(); err != nil { - return err - } - } - // this uses rill and is super fast - doAllCheckoutUser() - return nil - } - - if me.argvCheckoutDevel { - // log.Info("Starting git checkout devel") - if argv.Force { - log.Info("going to force create devel branches") - makeDevelBranches() - } - // this uses rill and is super fast - doAllCheckoutDevel() - return nil - } - - if me.argvCheckoutMaster { - log.Info("Starting git checkout master") - doAllCheckoutMaster() - return nil - } - log.Info("Forge didn't know what branches to checkout") - return nil -} - // trys to figure out if there is still something to update // todo: redo this logic as it is terrible func doCheckout() error { if argv.Checkout.User != nil { - me.argvCheckoutUser = true - me.forge.Config.Mode = forgepb.ForgeMode_USER - me.forge.Config.ConfigSave() + if err := doAllCheckoutUser(); err != nil { + badExit(err) + } } if argv.Checkout.Devel != nil { - me.argvCheckoutDevel = true - me.forge.Config.Mode = forgepb.ForgeMode_DEVEL - me.forge.Config.ConfigSave() + if err := doAllCheckoutDevel(); err != nil { + badExit(err) + } } if argv.Checkout.Master != nil { - me.argvCheckoutMaster = true - me.forge.Config.Mode = forgepb.ForgeMode_MASTER - me.forge.Config.ConfigSave() - } - if err := doCheckoutShared(); err != nil { - badExit(err) + if err := doAllCheckoutMaster(); err != nil { + badExit(err) + } } - okExit("") + badExit(fmt.Errorf("did not specify what branch to checkout")) return nil } |
