From d014dbe3d42d2471aeab43e4d6ab0003e88f21ac Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 18 Jan 2025 03:59:44 -0600 Subject: [PATCH] early common things for branch handling --- shell.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/shell.go b/shell.go index def6d37..d14960d 100644 --- a/shell.go +++ b/shell.go @@ -149,3 +149,47 @@ func (repo *Repo) RunStrictAll(all [][]string) (*cmd.Status, error) { } return nil, nil } + +func (repo *Repo) RunVerbose(cmd []string) (*cmd.Status, error) { + log.Info("Running:", repo.GetGoPath(), cmd) + r, err := repo.RunStrictNew(cmd) + if err != nil { + log.Info("Error", cmd, err) + } + for _, line := range r.Stdout { + log.Info(line) + } + for _, line := range r.Stderr { + log.Info(line) + } + return r, err +} + +func (repo *Repo) RunVerboseOnError(cmd []string) (*cmd.Status, error) { + r, err := repo.RunStrictNew(cmd) + if err == nil { + return r, err + } + log.Info("Run Error:", repo.GetGoPath(), cmd, err) + for _, line := range r.Stdout { + log.Info(line) + } + for _, line := range r.Stderr { + log.Info(line) + } + return r, err +} + +// only safe to run len() on STDOUT +// DO NOT TRY TO PARSE THIS EXCEPT HASH AS FIRST VALUE +// Intended to be human readable +func (repo *Repo) ConstructGitDiffLog(branch1, branch2 string) []string { + var cmd []string + cmd = append(cmd, "git") + cmd = append(cmd, "log") + cmd = append(cmd, "--format=\"%H %ae %as %s\"") + cmd = append(cmd, branch1) + cmd = append(cmd, "--not") + cmd = append(cmd, branch2) + return cmd +}