summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--argv.go8
-rw-r--r--doClean.go7
2 files changed, 10 insertions, 5 deletions
diff --git a/argv.go b/argv.go
index 03d97a1..9a15eda 100644
--- a/argv.go
+++ b/argv.go
@@ -22,11 +22,12 @@ type args struct {
Config *ConfigCmd `arg:"subcommand:config" help:"show your .config/forge/ settings"`
Gui *EmptyCmd `arg:"subcommand:gui" help:"open the gui"`
Merge *MergeCmd `arg:"subcommand:merge" help:"merge branches"`
- Normal *NormalCmd `arg:"subcommand:normal" help:"set every repo to the default state for software development"`
+ Normal *NormalCmd `arg:"subcommand:user" help:"makes a user branch in every git repo"`
Patch *PatchCmd `arg:"subcommand:patch" help:"make patchsets"`
Pull *PullCmd `arg:"subcommand:pull" help:"run 'git pull'"`
Show *ShowCmd `arg:"subcommand:show" help:"print out things"`
Dev *DevCmd `arg:"subcommand:dev" help:"features under development"`
+ Add *EmptyCmd `arg:"subcommand:add" help:"Scan and add any git repos in your current directory"`
All bool `arg:"--all" help:"git commit --all"`
Force bool `arg:"--force" help:"try to strong-arm things"`
Verbose bool `arg:"--verbose" help:"show more output"`
@@ -34,9 +35,10 @@ type args struct {
func (args) Examples() string {
var out string
+ out += "forge add # scan your current directory for all git repos\n"
+ out += "forge user fix # the defaults for 'normal' forge distributed development (makes a user branch in every git repo)\n"
out += "forge pull --force # 'git pull' on all repos\n"
out += "forge merge --all # merge all patches to devel & master\n"
- out += "forge normal fix # the defaults for 'normal' forge distributed development (makes local user branches)\n"
out += "forge reset fix # smartly restore all git repos to the upstream state (removes changes forge might have made)\n"
return out
}
@@ -194,7 +196,7 @@ func (args) Appname() string {
func (a args) DoAutoComplete(pb *prep.Auto) {
if pb.Cmd == "" {
- pb.Autocomplete3([]string{"checkout", "reset", "commit", "config", "gui", "merge", "normal", "patch", "pull", "show", "--version"})
+ pb.Autocomplete3([]string{"checkout", "reset", "commit", "config", "gui", "merge", "user", "patch", "pull", "show", "add", "--version"})
} else {
pb.SubCommand(pb.Goargs...)
}
diff --git a/doClean.go b/doClean.go
index 93927cd..797d273 100644
--- a/doClean.go
+++ b/doClean.go
@@ -64,8 +64,11 @@ func doClean() error {
return log.Errorf("repo not found: %s", argv.Clean.Repo)
}
- s := fmt.Sprintf("Reset all (%d) git repos to the original state (non-destructive)?", me.forge.Repos.Len())
- if !fhelp.QuestionUser(s) {
+ if me.forge.Config.Mode == forgepb.ForgeMode_NORMAL {
+ s := fmt.Sprintf("Reset all (%d) git repos to the original state (non-destructive)?", me.forge.Repos.Len())
+ if !fhelp.QuestionUser(s) {
+ log.Info("Run: 'forge checkout master'")
+ }
}
// fix this to work, then delete all the other options for "forge clean'