From 9e6207ff380284c532bcb9cd85e7c1423ae58510 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 23 Feb 2024 07:01:05 -0600 Subject: [PATCH] move common code to repolist --- args.go | 41 +++++++++++++- handleCmdLine.go | 135 ----------------------------------------------- 2 files changed, 40 insertions(+), 136 deletions(-) delete mode 100644 handleCmdLine.go diff --git a/args.go b/args.go index b2a8952..af016ef 100644 --- a/args.go +++ b/args.go @@ -2,11 +2,12 @@ package main /* this parses the command line arguements - this enables command line options from other packages like 'gui' and 'log' */ import ( + "os" + "go.wit.com/dev/alexflint/arg" "go.wit.com/lib/debugger" "go.wit.com/lib/gui/logsettings" @@ -40,3 +41,41 @@ func init() { }() } } + +// This will process the command line arguements after everything is initialized +// If any of them are called, don't show the GUI at all and just exit. +func handleCmdLine() { + var doExit bool = false + + if args.CheckoutDevel { + me.autotypistWindow.Hide() + me.repos.View.ArgCheckoutDevel() + doExit = true + } else { + log.Info("not switching to devel branches") + } + + if args.CheckoutUser { + me.autotypistWindow.Hide() + me.repos.View.ArgCheckoutUser() + doExit = true + } else { + log.Info("not switching to user branches") + } + + if args.GitPull { + me.autotypistWindow.Hide() + if me.repos.View.ArgGitPull() { + log.Info("git pull everywhere worked") + } else { + log.Info("git failed somewhere") + } + doExit = true + } else { + log.Info("not running git pull everywhere") + } + + if doExit { + os.Exit(0) + } +} diff --git a/handleCmdLine.go b/handleCmdLine.go deleted file mode 100644 index e41fe8c..0000000 --- a/handleCmdLine.go +++ /dev/null @@ -1,135 +0,0 @@ -package main - -import ( - "os" - - "go.wit.com/lib/gui/repolist" - "go.wit.com/log" -) - -/* -This will process the command line arguements like --git-pull - -It should do them in a smart order. If any of them are called, -don't show the GUI at all and just exit. -*/ - -func argGitPull() bool { - log.Info("running git pull everywhere") - me.autotypistWindow.Hide() - cmd := []string{"git", "pull"} - var failed int = 0 - for _, repo := range repolist.AllRepos() { - log.Info("Running:", repo.Status.Path(), cmd) - err, output := repo.RunCmd(cmd) - if err == nil { - log.Info(output) - } else { - failed += 1 - log.Info("Something went wrong. Got err", err) - log.Info("output =", output) - return false - } - } - log.Info("Ran git pull in all repos. failure count =", failed) - return true -} - -func argCheckoutDevel() bool { - log.Info("running git checkout devel everwhere") - me.autotypistWindow.Hide() - var failed int = 0 - for _, repo := range repolist.AllRepos() { - if repo.Status.ReadOnly() { - // log.Info("skipping read-only", repo.Name()) - continue - } - if repo.CheckDirty() { - log.Info("skipping dirty repo", repo.Name()) - continue - } - branch := repo.Status.GetDevelBranchName() - cmd := []string{"git", "checkout", branch} - log.Info("Running:", cmd, "in", repo.Name()) - err, output := repo.RunCmd(cmd) - if err == nil { - log.Info("git checkout worked", output) - } else { - failed += 1 - log.Info("git checkout failed") - log.Info("Something went wrong. Got err", err) - log.Info("output =", output) - // return false - } - } - log.Info("Ran git checkout in all repos. failure count =", failed) - return true -} - -func argCheckoutUser() bool { - log.Info("running git checkout devel everwhere") - me.autotypistWindow.Hide() - var failed int = 0 - for _, repo := range repolist.AllRepos() { - if repo.Status.ReadOnly() { - // log.Info("skipping read-only", repo.Name()) - continue - } - if repo.Status.CheckDirty() { - log.Info("skipping dirty repo", repo.Name()) - continue - } - branch := repo.Status.GetUserBranchName() - if branch == repo.Status.GetCurrentBranchName() { - // already on user branch - continue - } - cmd := []string{"git", "checkout", branch} - log.Info("Running:", cmd, "in", repo.Name()) - err, output := repo.RunCmd(cmd) - if err == nil { - log.Info("git checkout worked", output) - } else { - failed += 1 - log.Info("git checkout failed") - log.Info("Something went wrong. Got err", err) - log.Info("output =", output) - // return false - } - } - log.Info("Ran git checkout in all repos. failure count =", failed) - return true -} - -func handleCmdLine() { - var doExit bool = false - - if args.CheckoutDevel { - argCheckoutDevel() - doExit = true - } else { - log.Info("not switching to devel branches") - } - - if args.CheckoutUser { - argCheckoutUser() - doExit = true - } else { - log.Info("not switching to user branches") - } - - if args.GitPull { - if argGitPull() { - log.Info("git pull everywhere worked") - } else { - log.Info("git failed somewhere") - } - doExit = true - } else { - log.Info("not running git pull everywhere") - } - - if doExit { - os.Exit(0) - } -}