diff options
| author | Jeff Carr <[email protected]> | 2025-01-06 21:02:04 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-01-06 21:02:04 -0600 |
| commit | be98039d69787c6e825f28c7025f32fc1458c306 (patch) | |
| tree | 6bb361e3ce61918356813c486a14bb74911b73d1 | |
| parent | 38c0ec7caadcfa51baf364b76cda14e2c656d0ee (diff) | |
forgeConfig code merged here
Signed-off-by: Jeff Carr <[email protected]>
| -rw-r--r-- | doConfig.go | 44 |
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 +} |
