summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-06 21:02:04 -0600
committerJeff Carr <[email protected]>2025-01-06 21:02:04 -0600
commitbe98039d69787c6e825f28c7025f32fc1458c306 (patch)
tree6bb361e3ce61918356813c486a14bb74911b73d1
parent38c0ec7caadcfa51baf364b76cda14e2c656d0ee (diff)
forgeConfig code merged here
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--doConfig.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/doConfig.go b/doConfig.go
index 52581c8..cc2210e 100644
--- a/doConfig.go
+++ b/doConfig.go
@@ -1,6 +1,9 @@
package main
import (
+ "os"
+
+ "go.wit.com/lib/protobuf/forgepb"
"go.wit.com/log"
)
@@ -23,6 +26,47 @@ func doConfig() {
}
}
+ // try to add, then save config and exit
+ if argv.Config.Add != nil {
+ log.Info("going to add a new repo", argv.Config.Add.GoPath)
+ deleteGoPath(me.forge, argv.Config.Add.GoPath)
+ new1 := forgepb.ForgeConfig{
+ GoPath: argv.Config.Add.GoPath,
+ Writable: argv.Config.Add.Writable,
+ ReadOnly: argv.Config.Add.ReadOnly,
+ Private: argv.Config.Add.Private,
+ Directory: argv.Config.Add.Directory,
+ Favorite: argv.Config.Add.Favorite,
+ Interesting: argv.Config.Add.Interesting,
+ MasterBranchName: argv.Config.Add.Master,
+ DevelBranchName: argv.Config.Add.Devel,
+ UserBranchName: argv.Config.Add.User,
+ }
+
+ if me.forge.Config.Append(&new1) {
+ log.Info("added", new1.GoPath, "ok")
+ } else {
+ log.Info("added", new1.GoPath, "failed")
+ os.Exit(-1)
+ }
+ me.forge.ConfigSave()
+ os.Exit(0)
+ }
+
me.forge.ConfigPrintTable()
okExit("")
}
+
+func deleteGoPath(f *forgepb.Forge, gopath string) bool {
+ var deleted bool = false
+ for {
+ if f.Config.DeleteByGoPath(gopath) {
+ log.Info("deleted ok", gopath)
+ deleted = true
+ } else {
+ log.Info("did not delete", gopath)
+ break
+ }
+ }
+ return deleted
+}