// Copyright 2017-2025 WIT.COM Inc. All rights reserved. // Use of this source code is governed by the GPL 3.0 package main import ( "os" "go.wit.com/lib/protobuf/forgepb" "go.wit.com/log" ) func doConfig() { cfg := argv.Dev.Config if cfg.Delete != "" { me.forge.DeleteByGoPath(cfg.Delete) me.forge.SetConfigSave(true) okExit("") } /* if cfg.Register != "" { if err := doRegister(cfg.Register); err == nil { okExit("attempting to register " + cfg.Register) } else { badExit(err) } } */ // try to add, then save config and exit if cfg.Add != nil { log.Info("going to add a new repo", cfg.Add.Namespace) deleteGoPath(me.forge, cfg.Add.Namespace) new1 := forgepb.ForgeConfig{ Namespace: cfg.Add.Namespace, GoPath: cfg.Add.Namespace, Writable: cfg.Add.Writable, ReadOnly: cfg.Add.ReadOnly, Private: cfg.Add.Private, Directory: cfg.Add.Directory, Favorite: cfg.Add.Favorite, Interesting: cfg.Add.Interesting, MasterBranchName: cfg.Add.Master, DevelBranchName: cfg.Add.Devel, UserBranchName: cfg.Add.User, } me.forge.Config.Append(&new1) me.forge.ConfigSave() os.Exit(0) } footer := me.forge.Config.PrintTable() okExit(footer) } func deleteGoPath(f *forgepb.Forge, gopath string) bool { var deleted bool = false for { if f.Config.DeleteByNamespace(gopath) { log.Info("deleted ok", gopath) deleted = true } else { log.Info("did not delete", gopath) break } } return deleted }