From f4838d750004b951c6e2f3affab44560a2827b19 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 25 Sep 2025 15:45:32 -0500 Subject: [PATCH] add 'fix' flag --- argv.go | 1 + doClean.go | 26 ++++++++++++++------------ doNormal.go | 21 ++------------------- 3 files changed, 17 insertions(+), 31 deletions(-) diff --git a/argv.go b/argv.go index f165752..0e8dd1d 100644 --- a/argv.go +++ b/argv.go @@ -67,6 +67,7 @@ type RepoCmd struct { } type NormalCmd struct { + Fix *EmptyCmd `arg:"subcommand:fix" help:"try to fix problems"` On *EmptyCmd `arg:"subcommand:on" help:"turn normal mode on"` Off *EmptyCmd `arg:"subcommand:off" help:"turn normal mode off"` } diff --git a/doClean.go b/doClean.go index ce87f7f..192e148 100644 --- a/doClean.go +++ b/doClean.go @@ -94,17 +94,18 @@ func doClean() error { // when publishing, clean out the details of that if it's still there if repo.GetTargetVersion() != "" { repo.SetTargetVersion("") - configSave = true } // try to delete user if err := doRepoCleanUser(repo); err != nil { if err == ErrorBranchUnique { - bname := repo.GetUserBranchName() - s := fmt.Sprintf("delete this odd user %bname branch %s?", bname, repo.FullPath) - if fhelp.QuestionUser(s) { - repo.RunVerbose([]string{"git", "branch", "-D", bname}) - // repo.RunVerbose([]string{"git", "checkout", bname}) + if argv.Clean.Fix != nil { + bname := repo.GetUserBranchName() + s := fmt.Sprintf("delete this odd user (%s) branch %s?", bname, repo.FullPath) + if fhelp.QuestionUser(s) { + repo.RunVerbose([]string{"git", "branch", "-D", bname}) + // repo.RunVerbose([]string{"git", "checkout", bname}) + } } } else { log.Info(repo.GetGoPath(), err) @@ -187,13 +188,14 @@ func doRepoCleanDevel(repo *gitpb.Repo) error { } if err := justDeleteTheDevelBranchAlready(repo); err != nil { log.Info("justDeleteTheDevel() err", repo.GetGoPath(), err) - bname := repo.GetDevelBranchName() - s := fmt.Sprintf("delete this odd devel %bname branch %s?", bname, repo.FullPath) - if fhelp.QuestionUser(s) { - repo.RunVerbose([]string{"git", "branch", "-D", bname}) - // repo.RunVerbose([]string{"git", "checkout", bname}) + if argv.Clean.Fix != nil { + bname := repo.GetDevelBranchName() + s := fmt.Sprintf("delete this odd devel (%s) branch %s?", bname, repo.FullPath) + if fhelp.QuestionUser(s) { + repo.RunVerbose([]string{"git", "branch", "-D", bname}) + // repo.RunVerbose([]string{"git", "checkout", bname}) + } } - configSave = true return err } return nil diff --git a/doNormal.go b/doNormal.go index 1f4b53e..9838d25 100644 --- a/doNormal.go +++ b/doNormal.go @@ -15,7 +15,6 @@ import ( "go.wit.com/lib/config" "go.wit.com/lib/fhelp" "go.wit.com/lib/gui/shell" - "go.wit.com/lib/protobuf/forgepb" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" ) @@ -35,7 +34,7 @@ func doNormal() bool { } repo := me.forge.Repos.FindByFullPath(path) if stat.Err == ErrorLocalDevelBranch { - if me.forge.Config.Mode == forgepb.ForgeMode_NORMAL { + if argv.Normal.Fix != nil { bname := repo.GetDevelBranchName() s := fmt.Sprintf("repair the %s branch on %s", bname, repo.FullPath) if fhelp.QuestionUser(s) { @@ -46,7 +45,7 @@ func doNormal() bool { } } if stat.Err == ErrorLocalMasterBranch { - if me.forge.Config.Mode == forgepb.ForgeMode_NORMAL { + if argv.Normal.Fix != nil { bname := repo.GetMasterBranchName() s := fmt.Sprintf("repair the %s branch on %s", bname, repo.FullPath) if fhelp.QuestionUser(s) { @@ -125,25 +124,9 @@ func checkNormalRepoState(repo *gitpb.Repo) error { if !repo.VerifyRemoteAndLocalBranches(repo.GetDevelBranchName()) { return ErrorLocalDevelBranch - /* - bname := repo.GetDevelBranchName() - s := fmt.Sprintf("repair the %s branch on %s", bname, repo.FullPath) - if fhelp.QuestionUser(s) { - repo.RunVerbose([]string{"git", "branch", "-D", bname}) - repo.RunVerbose([]string{"git", "checkout", bname}) - } - */ } if !repo.VerifyRemoteAndLocalBranches(repo.GetMasterBranchName()) { return ErrorLocalMasterBranch - /* - bname := repo.GetMasterBranchName() - s := fmt.Sprintf("repair the %s branch on %s", bname, repo.FullPath) - if fhelp.QuestionUser(s) { - repo.RunVerbose([]string{"git", "branch", "-D", bname}) - repo.RunVerbose([]string{"git", "checkout", bname}) - } - */ } if repo.GetCurrentBranchName() != repo.GetUserBranchName() {