diff options
| -rw-r--r-- | argv.go | 6 | ||||
| -rw-r--r-- | doDev.go | 27 | ||||
| -rw-r--r-- | doFix.go | 11 | ||||
| -rw-r--r-- | doPatch.go | 11 | ||||
| -rw-r--r-- | main.go | 18 | ||||
| -rw-r--r-- | windowHowto.go | 9 |
6 files changed, 38 insertions, 44 deletions
@@ -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...) } @@ -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 } @@ -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 } @@ -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 @@ -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") -} |
