summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--argv.go6
-rw-r--r--doDev.go27
-rw-r--r--doFix.go11
-rw-r--r--doPatch.go11
-rw-r--r--main.go18
-rw-r--r--windowHowto.go9
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")
-}