summaryrefslogtreecommitdiff
path: root/revert.go
diff options
context:
space:
mode:
Diffstat (limited to 'revert.go')
-rw-r--r--revert.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/revert.go b/revert.go
new file mode 100644
index 0000000..22a6041
--- /dev/null
+++ b/revert.go
@@ -0,0 +1,45 @@
+package repostatus
+
+import "go.wit.com/log"
+
+// reverts master to devel
+// used in the unwind process of making GUI releases
+func (rs *RepoStatus) RevertMasterToDevel() bool {
+ if rs.CheckDirty() {
+ log.Info("sorry, it's still dirty")
+ return false
+ }
+
+ curName := rs.GetCurrentBranchName()
+ mName := rs.GetMasterBranchName()
+ if curName != mName {
+ log.Info("repo is not working from main branch", curName, "!=", mName)
+ return false
+ }
+
+ log.Info("reset master to devel", curName, rs.String())
+
+ // git checkout devel
+ // git branch -D master
+ // git branch master
+ // git checkout master
+ // git push --set-upstream --force origin master
+
+ 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})
+
+ // all = append(all, []string{"git", "tag", "--delete", release.version.String()})
+ // all = append(all, []string{"git", "push", "--delete", "origin", release.version.String()})
+
+ if rs.DoAll(all) {
+ log.Info("EVERYTHING OK. RERELEASED", rs.String())
+ return true
+ }
+
+ log.Info("SOMETHING FAILED")
+ return false
+}