diff options
Diffstat (limited to 'unreleaseWindow.go')
| -rw-r--r-- | unreleaseWindow.go | 52 |
1 files changed, 30 insertions, 22 deletions
diff --git a/unreleaseWindow.go b/unreleaseWindow.go index e3a3625..a21062a 100644 --- a/unreleaseWindow.go +++ b/unreleaseWindow.go @@ -17,7 +17,7 @@ func createUnreleaseBox(box *gui.Node) { log.Info("skipping whitelist", repo.String()) continue } - + if repo.lookToUnwind() { log.Info("found something to unwind:", repo.String()) if setCurrentRepo(repo, "rewind this", "very sure") { @@ -28,7 +28,6 @@ func createUnreleaseBox(box *gui.Node) { }) group.NewButton("re-release"+release.versionS, func() { me.Disable() - defer me.Enable() if release.current.status.CheckDirty() { log.Info("sorry, it's still dirty") @@ -44,28 +43,37 @@ func createUnreleaseBox(box *gui.Node) { log.Info("\treset to devel", curName, release.versionS, release.reasonS) - release.current.status.RunCmd([]string{"git", "checkout", "devel"}) - release.current.status.RunCmd([]string{"git", "branch", "-D", mName}) - release.current.status.RunCmd([]string{"git", "branch", mName}) - release.current.status.RunCmd([]string{"git", "checkout", mName}) - release.current.status.RunCmd([]string{"git", "push", "--set-upstream", "--force", "origin", mName}) - release.current.status.RunCmd([]string{"git", "tag", "--delete", "v" + release.versionS}) - release.current.status.RunCmd([]string{"git", "push", "--delete", "origin", "v" + release.versionS}) - release.current.status.RunCmd([]string{"git", "tag", "-m", release.reasonS, "v" + release.versionS}) - release.current.status.RunCmd([]string{"git", "push", "origin", "v" + release.versionS}) - // git tag --delete v0.3 - // git push --delete origin v0.3 + var all [][]string + all = append(all, []string{"git", "checkout", "devel"}) + all = append(all, []string{"git", "branch", "-D", mName}) + all = append(all, []string{"git", "branch", mName}) + all = append(all, []string{"git", "checkout", mName}) + all = append(all, []string{"git", "push", "--set-upstream", "--force", "origin", mName}) - // git push --set-upstream --force origin guimaster + all = append(all, []string{"git", "tag", "--delete", "v" + release.versionS}) + all = append(all, []string{"git", "push", "--delete", "origin", "v" + release.versionS}) + all = append(all, []string{"git", "tag", "-m", release.reasonS, "v" + release.versionS}) + all = append(all, []string{"git", "push", "origin", "v" + release.versionS}) - // release.current.status.RunCmd([]string{"git", "branch", "--unset-upstream", mName}) - /* - release.current.status.RunCmd([]string{"git", "add", "-f", "go.sum"}) - release.current.status.RunCmd([]string{"git", "commit", "-m", release.reasonS}) - release.current.status.RunCmd([]string{"git", "push"}) - release.current.status.RunCmd([]string{"git", "tag", "-m", release.reasonS, "v" + release.versionS}) - release.current.status.RunCmd([]string{"git", "push", "origin", "v" + release.versionS}) - */ + if doAll(release.current, all) { + log.Info("EVERYTHING OK") + me.Enable() + } else { + log.Info("SOMETHING FAILED") + } }) } + +func doAll(r *repo, all [][]string) bool { + for _, cmd := range all { + log.Info("doAll() RUNNING: cmd =", cmd) + err, out := r.status.RunCmd(cmd) + log.Info("doAll() err =", err) + log.Info("doAll() out =", out) + if err != nil { + return false + } + } + return true +} |
