button to do it all

This commit is contained in:
Jeff Carr 2025-02-14 19:15:39 -06:00
parent 10f53c5f17
commit 34cc35ad7b
2 changed files with 126 additions and 98 deletions

View File

@ -243,6 +243,33 @@ func drawWindow(win *gadgets.BasicWindow) {
mergeDevelToMaster(me.autoCreateBranches.Checked()) mergeDevelToMaster(me.autoCreateBranches.Checked())
}) })
grid.NewButton("merge all", func() {
win.Disable()
defer win.Enable()
me.argvCheckoutUser = false
me.argvCheckoutDevel = true
me.argvCheckoutMaster = false
if err := doCheckoutShared(); err != nil {
log.Info("checkout error:", err)
} else {
log.Info("checkout was ok")
}
mergeDevelToMaster(me.autoCreateBranches.Checked())
me.argvCheckoutUser = false
me.argvCheckoutDevel = false
me.argvCheckoutMaster = true
if err := doCheckoutShared(); err != nil {
log.Info("checkout error:", err)
} else {
log.Info("checkout was ok")
}
mergeDevelToMaster(me.autoCreateBranches.Checked())
})
} }
func findMergeToDevel() { func findMergeToDevel() {

View File

@ -4,23 +4,20 @@
package main package main
import ( import (
"time"
"go.wit.com/lib/gadgets" "go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/repolist" "go.wit.com/lib/gui/repolist"
"go.wit.com/lib/gui/shell"
"go.wit.com/log" "go.wit.com/log"
"go.wit.com/gui" "go.wit.com/gui"
) )
type repoWindow struct { type repoWindow struct {
win *gadgets.BasicWindow // the window widget itself win *gadgets.BasicWindow // the window widget itself
box *gui.Node // notsure box *gui.Node // notsure
topbox *gui.Node // the top box of the repolist window topbox *gui.Node // the top box of the repolist window
mergeDevel *gui.Node // the buttton for merging user into devel // mergeDevel *gui.Node // the buttton for merging user into devel
mergeMaster *gui.Node // the buttton for merging devel into master // mergeMaster *gui.Node // the buttton for merging devel into master
View *repolist.RepoList // old code View *repolist.RepoList // old code
} }
func (r *repoWindow) Hidden() bool { func (r *repoWindow) Hidden() bool {
@ -42,26 +39,28 @@ func (r *repoWindow) Show() {
} }
r.win.Show() r.win.Show()
now := time.Now() /*
// check for devel branches now := time.Now()
total, count, nope, _ := IsEverythingOnDevel() // check for devel branches
log.Printf("Devel branch check. %d total repos. (%d ok) (%d not on devel branch) (%s)\n", total, count, nope, shell.FormatDuration(time.Since(now))) total, count, nope, _ := IsEverythingOnDevel()
if nope != 0 { log.Printf("Devel branch check. %d total repos. (%d ok) (%d not on devel branch) (%s)\n", total, count, nope, shell.FormatDuration(time.Since(now)))
r.mergeDevel.Disable() if nope != 0 {
} else { // r.mergeDevel.Disable()
// everything is on the devel branch } else {
r.mergeDevel.Enable() // everything is on the devel branch
} // r.mergeDevel.Enable()
}
// check for master branches // check for master branches
total, count, nope, _ = IsEverythingOnMaster() total, count, nope, _ = IsEverythingOnMaster()
log.Printf("Master branch check. %d total repos. (%d ok) (%d not on master branch) (%s)\n", total, count, nope, shell.FormatDuration(time.Since(now))) log.Printf("Master branch check. %d total repos. (%d ok) (%d not on master branch) (%s)\n", total, count, nope, shell.FormatDuration(time.Since(now)))
if nope != 0 { if nope != 0 {
r.mergeMaster.Disable() r.mergeMaster.Disable()
} else { } else {
// everything is on the master branch // everything is on the master branch
r.mergeMaster.Enable() r.mergeMaster.Enable()
} }
*/
// updates the rows not hidden // updates the rows not hidden
loop := r.View.ReposSortByName() loop := r.View.ReposSortByName()
@ -148,85 +147,87 @@ func (r *repoWindow) repoMenu() *gui.Node {
} }
} }
r.mergeDevel = box2.NewButton("merge to devel", func() { /*
r.Disable() r.mergeDevel = box2.NewButton("merge to devel", func() {
defer r.Enable() r.Disable()
loop := r.View.ReposSortByName() defer r.Enable()
for loop.Scan() { loop := r.View.ReposSortByName()
// var repo *repolist.RepoRow for loop.Scan() {
view := loop.Repo() // var repo *repolist.RepoRow
if view.Hidden() { view := loop.Repo()
continue if view.Hidden() {
} continue
repo := view.GetPb()
log.Info("repo:", repo.GetGoPath())
if result, err := repo.MergeToDevel(); err == nil {
log.Warn("THINGS SEEM OK", repo.GetFullPath())
for _, line := range result.Stdout {
log.Warn("stdout:", line)
} }
for _, line := range result.Stderr { repo := view.GetPb()
log.Warn("stderr:", line) log.Info("repo:", repo.GetGoPath())
} if result, err := repo.MergeToDevel(); err == nil {
} else { log.Warn("THINGS SEEM OK", repo.GetFullPath())
log.Warn("THINGS FAILED ", repo.GetFullPath()) for _, line := range result.Stdout {
log.Warn("err", err) log.Warn("stdout:", line)
if result == nil { }
for _, line := range result.Stderr {
log.Warn("stderr:", line)
}
} else {
log.Warn("THINGS FAILED ", repo.GetFullPath())
log.Warn("err", err)
if result == nil {
break
}
for _, line := range result.Stdout {
log.Warn("stdout:", line)
}
for _, line := range result.Stderr {
log.Warn("stderr:", line)
}
break break
} }
for _, line := range result.Stdout { me.forge.SetConfigSave(true)
log.Warn("stdout:", line) view.Update()
}
for _, line := range result.Stderr {
log.Warn("stderr:", line)
}
break
} }
me.forge.SetConfigSave(true) me.forge.ConfigSave()
view.Update() })
}
me.forge.ConfigSave()
})
r.mergeMaster = box2.NewButton("merge to master", func() { r.mergeMaster = box2.NewButton("merge to master", func() {
r.Disable() r.Disable()
defer r.Enable() defer r.Enable()
loop := r.View.ReposSortByName() loop := r.View.ReposSortByName()
for loop.Scan() { for loop.Scan() {
// var repo *repolist.RepoRow // var repo *repolist.RepoRow
view := loop.Repo() view := loop.Repo()
if view.Hidden() { if view.Hidden() {
continue continue
}
repo := view.GetPb()
log.Info("repo:", repo.GetGoPath())
if result, err := repo.MergeToMaster(); err == nil {
log.Warn("THINGS SEEM OK", repo.GetFullPath())
for _, line := range result.Stdout {
log.Warn("stdout:", line)
} }
for _, line := range result.Stderr { repo := view.GetPb()
log.Warn("stderr:", line) log.Info("repo:", repo.GetGoPath())
} if result, err := repo.MergeToMaster(); err == nil {
} else { log.Warn("THINGS SEEM OK", repo.GetFullPath())
log.Warn("THINGS FAILED ", repo.GetFullPath()) for _, line := range result.Stdout {
if result == nil { log.Warn("stdout:", line)
}
for _, line := range result.Stderr {
log.Warn("stderr:", line)
}
} else {
log.Warn("THINGS FAILED ", repo.GetFullPath())
if result == nil {
break
}
log.Warn("err", err)
for _, line := range result.Stdout {
log.Warn("stdout:", line)
}
for _, line := range result.Stderr {
log.Warn("stderr:", line)
}
break break
} }
log.Warn("err", err) me.forge.SetConfigSave(true)
for _, line := range result.Stdout { view.Update()
log.Warn("stdout:", line)
}
for _, line := range result.Stderr {
log.Warn("stderr:", line)
}
break
} }
me.forge.SetConfigSave(true) me.forge.ConfigSave()
view.Update() })
} */
me.forge.ConfigSave()
})
box2.NewButton("update", func() { box2.NewButton("update", func() {
r.Disable() r.Disable()
defer r.Enable() defer r.Enable()