From 78049e664d7955df52d64aca3adc74b7539d1fa6 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Tue, 30 Jan 2024 13:31:46 -0600 Subject: [PATCH] merge automation Signed-off-by: Jeff Carr --- draw.go | 42 +++++++++++++++++++++++------------------- git.go | 4 ++-- structs.go | 3 ++- update.go | 12 +++++++++--- 4 files changed, 36 insertions(+), 25 deletions(-) diff --git a/draw.go b/draw.go index 3a20702..b8565ef 100644 --- a/draw.go +++ b/draw.go @@ -53,6 +53,7 @@ func (rs *RepoStatus) drawGitBranches() { } }) + /* newgrid.NewButton("show .git/config", func() { if rs.gitConfig == nil { log.Log(WARN, "Nonexistant or damaged .git/config", rs.String()) @@ -68,6 +69,7 @@ func (rs *RepoStatus) drawGitBranches() { log.Log(WARN, " ", name, "remote:", branch.remote, "merge", branch.merge) } }) + */ newgrid.NewButton("CheckDirty()", func() { if rs.CheckDirty() { @@ -77,6 +79,7 @@ func (rs *RepoStatus) drawGitBranches() { } }) + /* newgrid.NewButton("CheckSafeGoSumRemake()", func() { if ok, bad := rs.CheckSafeGoSumRemake(); ok { log.Log(WARN, "CheckSafeGoSumRemake() is safe to redo") @@ -102,6 +105,7 @@ func (rs *RepoStatus) drawGitBranches() { newgrid.NewButton("MakeRedomod()", func() { rs.MakeRedomod() }) + */ } func (rs *RepoStatus) drawGitStatus() { @@ -144,21 +148,21 @@ func (rs *RepoStatus) SetGoSumStatus(s string) { rs.goSumStatus.SetText(s) } -func (rs *RepoStatus) runDevelMergeB() bool { +func (rs *RepoStatus) RunDevelMergeB() bool { master := rs.mainWorkingName.String() - log.Warn("runDevelMergeB() checking out master branch", master) + log.Warn("RunDevelMergeB() checking out master branch", master) rs.checkoutBranch("master", master) if rs.getCurrentBranchName() != master { - log.Warn("runDevelMergeB() something went wrong switching to the master branch. full stop!") + log.Warn("RunDevelMergeB() something went wrong switching to the master branch. full stop!") return false } - log.Warn("runDevelMergeB() running runGitCommands()") + log.Warn("RunDevelMergeB() running runGitCommands()") if !rs.runGitCommands(true) { - log.Warn("runDevelMergeB() SOMETHING WENT WRONG") + log.Warn("RunDevelMergeB() SOMETHING WENT WRONG") return false } rs.Update() - log.Warn("runDevelMergeB() THINGS SEEM OK runGitCommands() returned true.") + log.Warn("RunDevelMergeB() THINGS SEEM OK runGitCommands() returned true.") return true } @@ -181,21 +185,21 @@ func (rs *RepoStatus) runReleaseVersionB() bool { } func (rs *RepoStatus) runFullAutomation() bool { - if !rs.runDevelMergeB() { + if !rs.RunDevelMergeB() { log.Warn("THINGS FAILED returned false") return false } log.Warn("THINGS SEEM OK returned true. can run this again?") - log.Warn("develMerge =", rs.develMerge.String()) + log.Warn("develMerge =", rs.develMergeB.String()) label := "merge devel into " + rs.GetMasterBranchName() - if label == rs.develMerge.String() { - log.Warn("LABELS MATCH", label, rs.develMerge.String()) - if !rs.runDevelMergeB() { + if label == rs.develMergeB.String() { + log.Warn("LABELS MATCH", label, rs.develMergeB.String()) + if !rs.RunDevelMergeB() { log.Warn("THINGS FAILED returned false") return false } } - if rs.develMerge.String() == "ready to release" { + if rs.develMergeB.String() == "ready to release" { log.Warn("THINGS SEEM OK ready to release") if rs.releaseVersion.String() == "Release!" { log.Warn("releaseVersion == 'Release!'. safe to do release version HERE?") @@ -229,9 +233,9 @@ func (rs *RepoStatus) drawGitCommands() { }) label := "merge " + rs.userWorkingName.String() + " to " + rs.develWorkingName.String() - rs.develMerge = newgrid.NewButton(label, func() { + rs.develMergeB = newgrid.NewButton(label, func() { rs.Disable() - if rs.runDevelMergeB() { + if rs.RunDevelMergeB() { log.Warn("THINGS SEEM OK fullAutomation() returned true.") } else { log.Warn("THINGS FAILED fullAutomation() returned false") @@ -240,9 +244,9 @@ func (rs *RepoStatus) drawGitCommands() { }) label = "merge " + rs.develWorkingName.String() + " to " + rs.mainWorkingName.String() - rs.develMerge = newgrid.NewButton(label, func() { + rs.mainMergeB = newgrid.NewButton(label, func() { rs.Disable() - if rs.runDevelMergeB() { + if rs.RunDevelMergeB() { log.Warn("THINGS SEEM OK fullAutomation() returned true.") } else { log.Warn("THINGS FAILED fullAutomation() returned false") @@ -417,7 +421,7 @@ func (rs *RepoStatus) recommend() { rs.EnableMergeDevel() rs.setMergeUserCommands() label := "merge user into " + rs.GetDevelBranchName() - rs.develMerge.SetLabel(label) + rs.develMergeB.SetLabel(label) return } log.Log(INFO, "Does master == devel? ", rs.masterBranchVersion.String(), rs.develBranchVersion.String()) @@ -426,7 +430,7 @@ func (rs *RepoStatus) recommend() { rs.EnableMergeDevel() rs.setMergeDevelCommands() label := "merge devel into " + rs.GetMasterBranchName() - rs.develMerge.SetLabel(label) + rs.develMergeB.SetLabel(label) return } rs.getLastTagVersion() @@ -477,7 +481,7 @@ func (rs *RepoStatus) runGitCommands(verbose bool) bool { if verbose { log.Log(WARN, "RUNNING:", s) } - rs.develMerge.SetText(s) + rs.develMergeB.SetText(s) err, b, output := runCmd(rs.realPath.String(), line) if err != nil { log.Warn("ABEND EXECUTION") diff --git a/git.go b/git.go index bbf7030..722a00c 100644 --- a/git.go +++ b/git.go @@ -279,8 +279,8 @@ func (rs *RepoStatus) GetStatus() string { if rs.userBranchVersion.String() != rs.develBranchVersion.String() { return "merge to devel" } - if rs.userBranchVersion.String() != rs.masterBranchVersion.String() { - return "ready to release" + if rs.develBranchVersion.String() != rs.masterBranchVersion.String() { + return "merge to main" } if rs.lasttag.String() != rs.masterBranchVersion.String() { return "ready to tag version" diff --git a/structs.go b/structs.go index fe16b56..c23f480 100644 --- a/structs.go +++ b/structs.go @@ -38,7 +38,8 @@ type RepoStatus struct { develWorkingName *gadgets.OneLiner userWorkingName *gadgets.OneLiner - develMerge *gui.Node + develMergeB *gui.Node + mainMergeB *gui.Node releaseVersion *gui.Node // vgroup *gui.Node diff --git a/update.go b/update.go index 75f4af3..9b72b00 100644 --- a/update.go +++ b/update.go @@ -46,6 +46,12 @@ func (rs *RepoStatus) Update() { rs.recommend() rs.CheckBranches() + + label := "merge " + rs.userWorkingName.String() + " to " + rs.develWorkingName.String() + rs.develMergeB.SetLabel(label) + + label = "merge " + rs.develWorkingName.String() + " to " + rs.mainWorkingName.String() + rs.mainMergeB.SetLabel(label) }) rs.setSpeed(duration) log.Log(INFO, "Update() END") @@ -81,7 +87,7 @@ func (rs *RepoStatus) DisableEverything() { rs.versionMessage.Disable() // disable the merge devel to master button - rs.develMerge.Disable() + rs.develMergeB.Disable() // disable the tag a new version button rs.releaseVersion.Disable() @@ -91,7 +97,7 @@ func (rs *RepoStatus) DisableEverything() { func (rs *RepoStatus) EnableMergeDevel() { rs.DisableEverything() - rs.develMerge.Enable() + rs.develMergeB.Enable() } func (rs *RepoStatus) Disable() { @@ -114,7 +120,7 @@ func (rs *RepoStatus) EnableSelectTag() { // disable adding a tag message rs.versionMessage.Enable() - rs.develMerge.SetLabel("ready to release") + rs.develMergeB.SetLabel("ready to release") if len(rs.versionMessage.String()) == 0 { // force there to be a commit message