forge/doCheckout.go

44 lines
913 B
Go

// Copyright 2017-2025 WIT.COM Inc. All rights reserved.
// Use of this source code is governed by the GPL 3.0
package main
import (
"fmt"
"time"
"go.wit.com/lib/gui/shell"
"go.wit.com/log"
)
// trys to figure out if there is still something to update
func doCheckout() error {
if argv.Checkout.User != nil {
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 {
badExit(err)
}
okExit("")
}
if argv.Checkout.Devel != nil {
if err := me.forge.DoAllCheckoutDevel(argv.Force); err != nil {
badExit(err)
}
okExit("")
}
if argv.Checkout.Master != nil {
if err := me.forge.DoAllCheckoutMaster(); err != nil {
badExit(err)
}
okExit("")
}
badExit(fmt.Errorf("did not specify what branch to checkout"))
return nil
}