123 lines
2.9 KiB
Go
123 lines
2.9 KiB
Go
package repostatus
|
|
|
|
import (
|
|
"go.wit.com/gui"
|
|
"go.wit.com/lib/gadgets"
|
|
"go.wit.com/log"
|
|
)
|
|
|
|
func (rs *RepoStatus) drawGitCommands(box *gui.Node) {
|
|
rs.gitCommandsGroup = box.NewGroup("modify")
|
|
newgrid := rs.gitCommandsGroup.NewGrid("gridnuts", 0, 0)
|
|
|
|
newgrid.NewButton("Rescan Repo", func() {
|
|
rs.Update()
|
|
})
|
|
|
|
newgrid.NewButton("CheckDirty()", func() {
|
|
if rs.CheckDirty() {
|
|
log.Log(WARN, "is dirty")
|
|
} else {
|
|
log.Log(WARN, "is not dirty")
|
|
}
|
|
})
|
|
|
|
newgrid.NewButton("show .git/config", func() {
|
|
if rs.gitConfig == nil {
|
|
log.Log(WARN, "Nonexistant or damaged .git/config", rs.String())
|
|
return
|
|
}
|
|
log.Log(WARN, ".git/config:", rs.realPath.String())
|
|
|
|
// The info:
|
|
for name, remote := range rs.gitConfig.remotes {
|
|
log.Log(WARN, " ", name, "url:", remote.url)
|
|
}
|
|
for name, branch := range rs.gitConfig.branches {
|
|
log.Log(WARN, " ", name, "remote:", branch.remote, "merge", branch.merge)
|
|
}
|
|
})
|
|
newgrid.NextRow()
|
|
|
|
newgrid.NewButton("git pull", func() {
|
|
var cmd []string
|
|
cmd = append(cmd, "git", "pull")
|
|
err, b, output := RunCmd(rs.realPath.String(), cmd)
|
|
log.Warn("Did git pull here", err, b, output)
|
|
})
|
|
newgrid.NextRow()
|
|
|
|
label := "merge " + rs.userWorkingName.String() + " to " + rs.develWorkingName.String()
|
|
rs.develMergeB = newgrid.NewButton(label, func() {
|
|
rs.Disable()
|
|
if rs.MergeUserToDevel() {
|
|
log.Warn("THINGS SEEM OK fullAutomation() returned true.")
|
|
} else {
|
|
log.Warn("THINGS FAILED fullAutomation() returned false")
|
|
}
|
|
rs.Enable()
|
|
})
|
|
|
|
label = "merge " + rs.develWorkingName.String() + " to " + rs.mainWorkingName.String()
|
|
rs.mainMergeB = newgrid.NewButton(label, func() {
|
|
rs.Disable()
|
|
if rs.MergeDevelToMaster() {
|
|
log.Warn("THINGS SEEM OK fullAutomation() returned true.")
|
|
} else {
|
|
log.Warn("THINGS FAILED fullAutomation() returned false")
|
|
}
|
|
rs.Enable()
|
|
})
|
|
newgrid.NextRow()
|
|
|
|
rs.major = gadgets.NewBasicCombobox(newgrid, "major")
|
|
rs.major.Custom = func() {
|
|
rs.setTag()
|
|
rs.generateCmd()
|
|
}
|
|
rs.major.Hide()
|
|
newgrid.NextRow()
|
|
|
|
rs.minor = gadgets.NewBasicCombobox(newgrid, "minor")
|
|
rs.minor.Custom = func() {
|
|
rs.setTag()
|
|
rs.generateCmd()
|
|
}
|
|
rs.minor.Hide()
|
|
newgrid.NextRow()
|
|
|
|
rs.revision = gadgets.NewBasicCombobox(newgrid, "revision")
|
|
rs.revision.Custom = func() {
|
|
rs.setTag()
|
|
rs.generateCmd()
|
|
}
|
|
rs.revision.Hide()
|
|
newgrid.NextRow()
|
|
|
|
// newgrid.NewLabel("new tag version")
|
|
rs.newversion = newgrid.NewLabel("0.0.1")
|
|
rs.newversion.Hide()
|
|
newgrid.NextRow()
|
|
|
|
rs.versionMessage = gadgets.NewBasicEntry(newgrid, "tag message")
|
|
rs.versionMessage.Custom = func() {
|
|
rs.generateCmd()
|
|
}
|
|
rs.versionMessage.Hide()
|
|
newgrid.NextRow()
|
|
|
|
rs.versionCmdOutput = gadgets.NewOneLiner(newgrid, "tag cmd")
|
|
rs.versionCmdOutput.Hide()
|
|
newgrid.NextRow()
|
|
|
|
rs.releaseVersion = newgrid.NewButton("tag and release new version", func() {
|
|
rs.Disable()
|
|
rs.MergeDevelToMaster()
|
|
})
|
|
rs.releaseVersion.Hide()
|
|
newgrid.NextRow()
|
|
|
|
newgrid.Margin()
|
|
newgrid.Pad()
|
|
}
|