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() { rs.GitPull() }) 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.NewButton("increment version", func() { rs.IncrementVersion() }) 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() }