summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-02-02 15:22:48 -0600
committerJeff Carr <[email protected]>2024-02-02 15:22:48 -0600
commit7071aad1a59904b8328fbb23ac8aeb59b6a4addd (patch)
tree89ae03c6ffa8d8239fe8cfbb7beca7cf7d6f1472
parent4c2739186cc0bb129de2f05099bbe9e4c28d2c4b (diff)
add a do-it all button for merging
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--globalResetOptions.go2
-rw-r--r--repolist.go99
2 files changed, 63 insertions, 38 deletions
diff --git a/globalResetOptions.go b/globalResetOptions.go
index 4c7b626..1654c77 100644
--- a/globalResetOptions.go
+++ b/globalResetOptions.go
@@ -100,5 +100,5 @@ func attemptAutoRebuild() {
quickCmd(fullpath, []string{"go", "build", "-v", "-x", "-buildmode=plugin", "-o", libfile})
fullpath = filepath.Join(homeDir, "go/src/go.wit.com")
- quickCmd(fullpath, []string{"go", "install", "-v", "go.wit.com/apps/autotypist@"+version})
+ quickCmd(fullpath, []string{"go", "install", "-v", "go.wit.com/apps/autotypist@" + version})
}
diff --git a/repolist.go b/repolist.go
index 34af776..0d6ffd6 100644
--- a/repolist.go
+++ b/repolist.go
@@ -201,45 +201,78 @@ func repoAllButtons(box *gui.Node) {
grid1.NewButton("merge all user to devel", func() {
reposwin.Disable()
- log.Info("merge all here")
- for _, repo := range me.allrepos {
- if repo.status.ReadOnly() {
- log.Info("skipping readonly", repo.String(), repo.dirtyLabel.String())
- continue
- }
- if repo.dirtyLabel.String() != "merge to devel" {
- log.Info("skipping. not merge to devel", repo.String(), repo.dirtyLabel.String())
- continue
- }
- if repo.status.CheckDirty() {
- log.Info("skipping dirty", repo.String(), repo.dirtyLabel.String())
- continue
- }
- log.Info("found", repo.String(), repo.dirtyLabel.String())
- // repo.status.Update()
- if repo.status.RunDevelMergeB() {
- log.Warn("THINGS SEEM OK fullAutomation() returned true.")
- } else {
- log.Warn("THINGS FAILED fullAutomation() returned false")
- return
- }
- repo.status.Update()
- repo.newScan()
+ if ! mergeAllUserToDevel() {
+ return
}
- log.Warn("EVERYTHING WORKED")
reposwin.Enable()
})
grid1.NewButton("merge all devel to main", func() {
reposwin.Disable()
+ if ! mergeAllDevelToMain() {
+ return
+ }
+ reposwin.Enable()
+ })
+
+ grid1.NewButton("merge it all", func() {
+ reposwin.Disable()
+ if ! mergeAllUserToDevel() {
+ return
+ }
+ if ! mergeAllDevelToMain() {
+ return
+ }
+ reposwin.Enable()
+ })
+
+ grid1.NewButton("status.Update() all", func() {
+ for _, repo := range me.allrepos {
+ repo.status.Update()
+ repo.newScan()
+ }
+ })
+}
+
+func mergeAllDevelToMain() bool {
+ log.Info("merge all here")
+ for _, repo := range me.allrepos {
+ if repo.status.ReadOnly() {
+ log.Info("skipping readonly", repo.String(), repo.dirtyLabel.String())
+ continue
+ }
+ if repo.dirtyLabel.String() != "merge to main" {
+ log.Info("skipping. not merge to main", repo.String(), repo.dirtyLabel.String())
+ continue
+ }
+ if repo.status.CheckDirty() {
+ log.Info("skipping dirty", repo.String(), repo.dirtyLabel.String())
+ continue
+ }
+ log.Info("found", repo.String(), repo.dirtyLabel.String())
+ // repo.status.Update()
+ if repo.status.RunDevelMergeB() {
+ log.Warn("THINGS SEEM OK fullAutomation() returned true.")
+ } else {
+ log.Warn("THINGS FAILED fullAutomation() returned false")
+ return false
+ }
+ repo.status.Update()
+ repo.newScan()
+ }
+ log.Warn("EVERYTHING WORKED")
+ return true
+}
+
+func mergeAllUserToDevel() bool {
log.Info("merge all here")
for _, repo := range me.allrepos {
if repo.status.ReadOnly() {
log.Info("skipping readonly", repo.String(), repo.dirtyLabel.String())
continue
}
- if repo.dirtyLabel.String() != "merge to main" {
- log.Info("skipping. not merge to main", repo.String(), repo.dirtyLabel.String())
+ if repo.dirtyLabel.String() != "merge to devel" {
+ log.Info("skipping. not merge to devel", repo.String(), repo.dirtyLabel.String())
continue
}
if repo.status.CheckDirty() {
@@ -252,19 +285,11 @@ func repoAllButtons(box *gui.Node) {
log.Warn("THINGS SEEM OK fullAutomation() returned true.")
} else {
log.Warn("THINGS FAILED fullAutomation() returned false")
- return
+ return false
}
repo.status.Update()
repo.newScan()
}
log.Warn("EVERYTHING WORKED")
- reposwin.Enable()
- })
-
- grid1.NewButton("status.Update() all", func() {
- for _, repo := range me.allrepos {
- repo.status.Update()
- repo.newScan()
- }
- })
+ return true
}