repostatus/branchesBox.go

69 lines
1.8 KiB
Go

package repostatus
import (
"go.wit.com/lib/gadgets"
"go.wit.com/log"
)
func (rs *RepoStatus) makeBranchesBox() {
rs.gitBranchesGroup = rs.window.Box().NewGroup("branches")
newgrid := rs.gitBranchesGroup.NewGrid("gridnuts", 0, 0)
rs.lasttag = gadgets.NewOneLiner(newgrid, "last tag")
newgrid.NextRow()
rs.masterBranchVersion = gadgets.NewOneLiner(newgrid, "master")
newgrid.NextRow()
rs.develBranchVersion = gadgets.NewOneLiner(newgrid, "devel")
newgrid.NextRow()
rs.userBranchVersion = gadgets.NewOneLiner(newgrid, "user")
newgrid.NextRow()
rs.currentBranch = gadgets.NewOneLiner(newgrid, "current branch")
newgrid.NextRow()
rs.currentVersion = gadgets.NewOneLiner(newgrid, "current version")
newgrid.NextRow()
rs.switchBranchB = newgrid.NewButton("Switch Branch", func() {
bname := rs.targetBranch.String()
log.Info("Should switch to branch", bname, "here")
var all [][]string
all = append(all, []string{"git", "checkout", bname})
if rs.DoAll(all) {
log.Info("branch switched to", bname)
} else {
log.Info("branch switched to", bname, "failed")
}
rs.UpdateCurrent()
})
rs.targetBranch = newgrid.NewDropdown()
// rs.targetBranch.AddText("master")
newgrid.NextRow()
rs.showBranchesButton = newgrid.NewButton("scan branches()", func() {
all := rs.getBranches()
for i, s := range all {
log.Log(WARN, "found branch", i, s)
rs.targetBranch.AddText(s)
}
i := len(all)
log.Log(WARN, "branch count =", i)
})
newgrid.NextRow()
rs.checkBranchesButton = newgrid.NewButton("CheckBranches()", func() {
if rs.CheckBranches() {
log.Log(WARN, "Branches are perfect")
} else {
log.Log(WARN, "Branches are not perfect")
}
})
newgrid.NextRow()
newgrid.NewButton("Revert master to devel", func() {
rs.RevertMasterToDevel()
})
}