diff options
| -rw-r--r-- | draw.go | 41 | ||||
| -rw-r--r-- | structs.go | 3 |
2 files changed, 42 insertions, 2 deletions
@@ -37,12 +37,49 @@ func draw(rs *RepoStatus) { rs.grid.NewButton("recommend", func() { log.Warn("Is repo dirty?", rs.dirtyLabel.Get()) log.Warn("list the known tags") + rs.develMerge.Disable() + rs.releaseVersion.Disable() rs.populateTags() - log.Warn("Does master == devel? ") - log.Warn("Does devel == jcarr?") + log.Warn("Does devel == jcarr?", rs.develBranch.Get(), rs.jcarrBranch.Get()) + if rs.develBranch.Get() != rs.jcarrBranch.Get() { + log.Warn("devel does not equal jcarr") + log.Warn("merge or squash?") + return + } + log.Warn("Does master == devel? ", rs.masterBranch.Get(), rs.develBranch.Get()) + if rs.masterBranch.Get() != rs.develBranch.Get() { + log.Warn("master does not equal devel. merge devel into master") + rs.develMerge.Enable() + return + } + rs.getLastTagVersion() + if rs.lasttag.Get() != rs.masterBranch.Get() { + log.Warn("master does not equal last tag") + rs.releaseVersion.Enable() + return + } log.Warn("Is repo pushed upstream? git.wit.org or github?") }) + rs.develMerge = rs.grid.NewButton("merge devel to master", func() { + rs.checkoutBranch("master") + if rs.getCurrentBranchName() != "master" { + log.Warn("something went wrong switching to the master branch. full stop!") + return + } + log.Warn("Should merge devel into master here") + out := run(rs.repopath, "git", "merge devel") + log.Warn("devel is merged? merginess is complete. perhaps", out) + rs.develMerge.Disable() // don't let this run twice for now + }) + rs.develMerge.Disable() + + rs.releaseVersion = rs.grid.NewButton("release version", func() { + lasttag := rs.lasttag.Get() + log.Warn("Should release version here", lasttag) + }) + rs.releaseVersion.Disable() + rs.grid.Margin() rs.grid.Pad() } @@ -33,6 +33,9 @@ type RepoStatus struct { develBranch *gadgets.OneLiner jcarrBranch *gadgets.OneLiner + develMerge *gui.Node + releaseVersion *gui.Node + speed *gadgets.OneLiner speedActual *gadgets.OneLiner } |
