From 598e8686041964e2266b9e57f2c5a7844d7995be Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 8 Oct 2025 01:22:47 -0500 Subject: more argv changes --- argv.go | 6 ++---- doDev.go | 27 +++++++++++++++++---------- doFix.go | 11 +++++++++++ doPatch.go | 11 ++++------- main.go | 18 ++++-------------- windowHowto.go | 9 --------- 6 files changed, 38 insertions(+), 44 deletions(-) diff --git a/argv.go b/argv.go index 909082c..50fff22 100644 --- a/argv.go +++ b/argv.go @@ -63,6 +63,7 @@ type FixCmd struct { Urls bool `arg:"--urls" help:"check for changes in repo urls"` Untracked bool `arg:"--untracked" help:"git untracked file list"` DeleteUser bool `arg:"--delete-user" help:"delete all user branches (checks for safety)"` + Prune bool `arg:"--prune" help:"'git fetch --prune' everywhere"` } func (ShowCmd) Examples() string { @@ -77,7 +78,6 @@ type RepoCmd struct { Private bool `arg:"--private" help:"your private repos from your .config/forge/"` User bool `arg:"--user" help:"show repos on the user branch"` Full bool `arg:"--full" help:"show full repo names"` - // ReadOnly bool `arg:"--readonly" help:"include read-only repos"` } type ModeCmd struct { @@ -88,7 +88,6 @@ type ModeCmd struct { } type CommitCmd struct { - // Submit bool `arg:"--submit" help:"submit the patches to forge"` All bool `arg:"--all" help:"git commit in all dirty repos"` } @@ -99,7 +98,6 @@ type DevCmd struct { Generate string `arg:"--generate" help:"run go generate"` BuildForge bool `arg:"--forge-rebuild" help:"download all the forge sources and rebuild forge"` URL string `arg:"--connect" help:"forge url"` - Prune bool `arg:"--prune" help:"'git fetch --prune' everywhere"` } type CleanCmd struct { @@ -214,7 +212,7 @@ func (args) Appname() string { func (a args) DoAutoComplete(pb *prep.Auto) { if pb.Cmd == "" { - pb.Autocomplete3([]string{"checkout", "clean", "commit", "gui", "merge", "mode", "patch", "pull", "show", "add", "--version", "--force", "dev", "normal"}) + pb.Autocomplete3([]string{"checkout", "clean", "commit", "gui", "merge", "mode", "patch", "pull", "show", "add", "fixer", "--version", "--force", "dev", "normal"}) } else { pb.SubCommand(pb.Goargs...) } diff --git a/doDev.go b/doDev.go index 43d2aa8..57402cb 100644 --- a/doDev.go +++ b/doDev.go @@ -12,8 +12,8 @@ var ErrorNeedArgvFix error = errors.New("add --fix") // so don't delete them func doDev() (string, error) { - // a GO language thing for compiling. if argv.Dev.Generate != "" { + // helps run 'go generate' in a particular repo found := me.forge.Repos.FindByNamespace(argv.Dev.Generate) if found == nil { return "", fmt.Errorf("unknown namespace %s", argv.Dev.Generate) @@ -25,15 +25,22 @@ func doDev() (string, error) { return "go generate done", nil } - if argv.Dev.Prune { - // git fetch --prune - for repo := range me.forge.Repos.IterByNamespace() { - if me.forge.Config.IsReadOnly(repo.Namespace) { - continue - } - repo.RunVerbose([]string{"git", "fetch", "--prune"}) + if argv.Dev.Install != nil { + if err := doInstall(); err != nil { + return "install failed", err } - return "", nil + return "installed ok", nil } - return "", nil + + if argv.Dev.Build != nil { + if err := doBuild(); err != nil { + return "build failed", err + } + return "build ok", nil + } + + if argv.Dev.BuildForge { + return "todo: build forge", nil + } + return "todo: do something here", nil } diff --git a/doFix.go b/doFix.go index 7e9fbf8..f29aa04 100644 --- a/doFix.go +++ b/doFix.go @@ -22,6 +22,17 @@ func doFix() (string, error) { if argv.Fixer.DeleteUser { return doDeleteUser() } + + if argv.Fixer.Prune { + // git fetch --prune + for repo := range me.forge.Repos.IterByNamespace() { + if me.forge.Config.IsReadOnly(repo.Namespace) { + continue + } + repo.RunVerbose([]string{"git", "fetch", "--prune"}) + } + return "", nil + } return "", nil } diff --git a/doPatch.go b/doPatch.go index 5b7a5e6..87c8f48 100644 --- a/doPatch.go +++ b/doPatch.go @@ -26,8 +26,11 @@ func isPatchingSafe() bool { log.Info("This patch command is not safe to run now") log.Info("you must reset the state of your git repositories. Run:") log.Info("") - log.Info("forge normal") + log.Info("forge normal (or use --force)") log.Info("") + if argv.Force { + return true + } return false } @@ -47,12 +50,6 @@ func doPatch() error { return nil } - if argv.Patch.Check != nil { - log.Info("do something here to find patches merged to devel") - // doMergeReport() - return nil - } - if argv.Patch.List != nil { err := doPatchList() return err diff --git a/main.go b/main.go index f26249e..af5d561 100644 --- a/main.go +++ b/main.go @@ -82,21 +82,11 @@ func main() { } if argv.Dev != nil { - if argv.Dev.Install != nil { - if err := doInstall(); err != nil { - badExit(err) - } - } - if argv.Dev.Build != nil { - if err := doBuild(); err != nil { - badExit(err) - } - } - if argv.Dev.BuildForge { - buildForge() - okExit("") + s, err := doDev() + if err != nil { + me.sh.BadExit(s, err) } - okExit("") + me.sh.GoodExit(s) } if argv.Clean != nil { diff --git a/windowHowto.go b/windowHowto.go index 3663ee3..0d3cb97 100644 --- a/windowHowto.go +++ b/windowHowto.go @@ -49,11 +49,6 @@ func makeHowtoWin() *gadgets.GenericWindow { defer howtoWin.Enable() downloadForge() }) - grid.NewButton("Build forge & GUI GO plugins", func() { - howtoWin.Disable() - defer howtoWin.Enable() - buildForge() - }) return howtoWin } @@ -112,7 +107,3 @@ func downloadForge() { } */ } - -func buildForge() { - log.Info("buildForge() not done yet") -} -- cgit v1.2.3