summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-11-08 06:43:45 -0600
committerJeff Carr <[email protected]>2024-11-08 06:43:45 -0600
commit29551667f0c1bca602870caba5921d3abcbe992e (patch)
tree30ac8b894c973d3a01148fc74f7b8ae70e012252
parentca00923762acf87139188c7fc6eac9f67107d7fe (diff)
use go-cmd/cmdv0.22.12
-rw-r--r--common.go5
-rw-r--r--getPatches.go16
-rw-r--r--human.go14
-rw-r--r--interface.go35
-rw-r--r--newRepo.go4
-rw-r--r--scanIterator.go2
-rw-r--r--structs.go2
-rw-r--r--viewTempWindow.go4
8 files changed, 43 insertions, 39 deletions
diff --git a/common.go b/common.go
index 6c8e97e..dedbd04 100644
--- a/common.go
+++ b/common.go
@@ -6,6 +6,7 @@ import (
"path/filepath"
"sort"
+ "github.com/go-cmd/cmd"
"go.wit.com/gui"
"go.wit.com/lib/gui/repostatus"
"go.wit.com/log"
@@ -110,8 +111,8 @@ func (r *RepoRow) IsPerfect() bool {
return false
}
-func (r *RepoRow) RunCmd(cmd []string) (error, string) {
- return r.Status.RunCmd(cmd)
+func (r *RepoRow) Run(cmd []string) cmd.Status {
+ return r.Status.Run(cmd)
}
func (r *RepoRow) AllTags() []*repostatus.Tag {
diff --git a/getPatches.go b/getPatches.go
index 44f662b..aaaa472 100644
--- a/getPatches.go
+++ b/getPatches.go
@@ -28,15 +28,15 @@ func (repo *RepoRow) GetPatches(oldname string, newname string) (int, []*Patch)
// log.Info("repo userv, develv", userv, develv)
gitcmd := []string{"git", "log", "--oneline", oldname + ".." + newname}
log.Info("Run:", gitcmd)
- err, output := repo.Status.RunCmd(gitcmd)
- if err != nil {
- log.Info("git failed ", repo.GoPath(), "err =", err)
+ r := repo.Status.Run(gitcmd)
+ if r.Error != nil {
+ log.Info("git failed ", repo.GoPath(), "err =", r.Error)
return 0, nil
}
// patches = strings.Split(output, "\n")
- log.Info("Run:", output)
- for _, line := range strings.Split(output, "\n") {
+ log.Info("Run:", r.Stdout)
+ for _, line := range r.Stdout {
line = strings.TrimSpace(line)
if line == "" {
continue
@@ -98,9 +98,9 @@ func (r *RepoList) MakePatchset(setdir string) bool {
// git format-patch branch1..branch2
gitcmd := []string{"git", "format-patch", "-o", repodir, develn + ".." + usern}
log.Info("Run:", gitcmd)
- err, output := repo.Status.RunCmd(gitcmd)
- log.Info("output =", output)
- if err == nil {
+ r := repo.Status.Run(gitcmd)
+ log.Info("output =", r.Stdout)
+ if r.Error == nil {
log.Info("patches made okay for:", repo.GoPath())
continue
}
diff --git a/human.go b/human.go
index 7954c42..3cc02d6 100644
--- a/human.go
+++ b/human.go
@@ -23,9 +23,9 @@ func (r *RepoRow) StandardHeader() string {
user := r.Status.GetUserVersion()
header := fmt.Sprintf("%-35s %5s %-10s %-10s %-20s %-20s %-20s %-15s",
- r.Name(), shell.FormatDuration(dur),
+ r.Name(), shell.FormatDuration(dur),
lastTag, target,
- master, devel, user,
+ master, devel, user,
r.State())
return header
}
@@ -51,14 +51,14 @@ func (v *RepoList) PrintReport(readonly string, onlydirty string, perfect string
header := repo.StandardHeader()
if onlydirty == "true" {
if repo.CheckDirty() {
- log.Info(header+"")
+ log.Info(header + "")
}
continue
}
if repo.ReadOnly() {
if readonly == "true" {
- log.Info(header+"readonly")
+ log.Info(header + "readonly")
}
continue
}
@@ -68,14 +68,14 @@ func (v *RepoList) PrintReport(readonly string, onlydirty string, perfect string
}
}
if repo.State() != "merge to main" {
- log.Info(header+"")
+ log.Info(header + "")
continue
}
if repo.CheckDirty() {
- log.Info(header+"")
+ log.Info(header + "")
continue
}
- log.Info(header+"")
+ log.Info(header + "")
}
log.Info(fmt.Sprintf("EVERYTHING WORKED repo count = %d", count))
}
diff --git a/interface.go b/interface.go
index a84ea3b..3189a5b 100644
--- a/interface.go
+++ b/interface.go
@@ -6,6 +6,7 @@ import (
"context"
"errors"
"fmt"
+
"go.wit.com/lib/protobuf/virtbuf"
)
@@ -45,10 +46,10 @@ func (m *ViewRepoManager) Start(ctx context.Context, cluster *virtbuf.Cluster) e
return errors.New("cluster cannot be nil")
}
/*
- err := m.client.StartRepo(ctx, cluster.Id)
- if err != nil {
- return fmt.Errorf("error starting cluster %q: %w", cluster.Id, err)
- }
+ err := m.client.StartRepo(ctx, cluster.Id)
+ if err != nil {
+ return fmt.Errorf("error starting cluster %q: %w", cluster.Id, err)
+ }
*/
return nil
}
@@ -59,10 +60,10 @@ func (m *ViewRepoManager) Stop(ctx context.Context, cluster *virtbuf.Cluster) er
return errors.New("cluster cannot be nil")
}
/*
- err := m.client.StopRepo(ctx, cluster.Id)
- if err != nil {
- return fmt.Errorf("error stopping cluster %q: %w", cluster.Id, err)
- }
+ err := m.client.StopRepo(ctx, cluster.Id)
+ if err != nil {
+ return fmt.Errorf("error stopping cluster %q: %w", cluster.Id, err)
+ }
*/
return nil
}
@@ -70,11 +71,11 @@ func (m *ViewRepoManager) Stop(ctx context.Context, cluster *virtbuf.Cluster) er
// List retrieves all available clusters.
func (m *ViewRepoManager) List(ctx context.Context) ([]*virtbuf.Cluster, error) {
/*
- clusters, err := m.client.ListRepos(ctx)
- if err != nil {
- return nil, fmt.Errorf("error listing clusters: %w", err)
- }
- return clusters, nil
+ clusters, err := m.client.ListRepos(ctx)
+ if err != nil {
+ return nil, fmt.Errorf("error listing clusters: %w", err)
+ }
+ return clusters, nil
*/
return nil, errors.New("List not done yet")
}
@@ -85,10 +86,10 @@ func (m *ViewRepoManager) Status(ctx context.Context, cluster *virtbuf.Cluster)
return "", errors.New("cluster cannot be nil")
}
/*
- status, err := m.client.GetRepoStatus(ctx, cluster.Id)
- if err != nil {
- return "", fmt.Errorf("error getting status of cluster %q: %w", cluster.Id, err)
- }
+ status, err := m.client.GetRepoStatus(ctx, cluster.Id)
+ if err != nil {
+ return "", fmt.Errorf("error getting status of cluster %q: %w", cluster.Id, err)
+ }
*/
return "", nil
}
diff --git a/newRepo.go b/newRepo.go
index 6fc3f77..e821dc0 100644
--- a/newRepo.go
+++ b/newRepo.go
@@ -138,14 +138,14 @@ func (r *RepoList) makeAutotypistView(newRepo *RepoRow) {
}
r.reposbox.Disable()
// restore anything staged so everything can be reviewed
- newRepo.Status.RunCmd([]string{"git", "restore", "--staged", "."})
+ newRepo.Status.Run([]string{"git", "restore", "--staged", "."})
newRepo.Status.XtermWait("git diff")
newRepo.Status.XtermWait("git add --all")
newRepo.Status.XtermWait("git commit -a")
newRepo.Status.XtermWait("git push")
if newRepo.Status.CheckDirty() {
// commit was not done, restore diff
- newRepo.Status.RunCmd([]string{"git", "restore", "--staged", "."})
+ newRepo.Status.Run([]string{"git", "restore", "--staged", "."})
} else {
newRepo.NewScan()
}
diff --git a/scanIterator.go b/scanIterator.go
index c0397eb..af1c28e 100644
--- a/scanIterator.go
+++ b/scanIterator.go
@@ -106,6 +106,8 @@ func (r *RepoList) selectRepoAll() []*RepoRow {
return repoPointers
}
+// this sort doesn't really work. I think it forgets to sort the last two
+// todo: sort this out. literally
// SelectRepoPointers safely returns a slice of pointers to Repo records.
func (r *RepoList) selectUnmergedRepos() []*RepoRow {
r.RLock()
diff --git a/structs.go b/structs.go
index 128426d..2531e96 100644
--- a/structs.go
+++ b/structs.go
@@ -38,7 +38,7 @@ type RepoList struct {
hideFunction func(*RepoRow)
duration *gui.Node
- rows []*RepoRow
+ rows []*RepoRow
}
type RepoRow struct {
diff --git a/viewTempWindow.go b/viewTempWindow.go
index 402393c..ffb99e5 100644
--- a/viewTempWindow.go
+++ b/viewTempWindow.go
@@ -76,14 +76,14 @@ func (r *RepoList) ShowRepo(repo *RepoRow) error {
return
}
// restore anything staged so everything can be reviewed
- newRow.Status.RunCmd([]string{"git", "restore", "--staged", "."})
+ newRow.Status.Run([]string{"git", "restore", "--staged", "."})
newRow.Status.XtermWait("git diff")
newRow.Status.XtermWait("git add --all")
newRow.Status.XtermWait("git commit -a")
newRow.Status.XtermWait("git push")
if newRow.Status.CheckDirty() {
// commit was not done, restore diff
- newRow.Status.RunCmd([]string{"git", "restore", "--staged", "."})
+ newRow.Status.Run([]string{"git", "restore", "--staged", "."})
} else {
newRow.NewScan()
}