43 lines
1.3 KiB
Go
43 lines
1.3 KiB
Go
|
package gitpb
|
||
|
|
||
|
import "go.wit.com/log"
|
||
|
|
||
|
// reverts master to devel
|
||
|
// used in the unwind process of making GUI releases
|
||
|
func (repo *Repo) RevertMasterToDevel() bool {
|
||
|
if repo.CheckDirty() {
|
||
|
log.Info("sorry, it's still dirty")
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
curName := repo.GetCurrentBranchName()
|
||
|
dName := repo.GetDevelBranchName()
|
||
|
mName := repo.GetMasterBranchName()
|
||
|
if curName != mName {
|
||
|
log.Info("repo is not working from main branch", curName, "!=", mName)
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
log.Info("reset master to devel", curName, repo.GetGoPath())
|
||
|
|
||
|
var all [][]string
|
||
|
all = append(all, []string{"git", "checkout", dName}) // switch to the devel branch
|
||
|
all = append(all, []string{"git", "branch", "-D", mName})
|
||
|
all = append(all, []string{"git", "branch", mName}) // make a master branch based on devel
|
||
|
all = append(all, []string{"git", "checkout", mName})
|
||
|
all = append(all, []string{"git", "push", "--set-upstream", "--force", "origin", mName})
|
||
|
|
||
|
// don't do anything with tags here
|
||
|
// all = append(all, []string{"git", "tag", "--delete", release.version.String()})
|
||
|
// all = append(all, []string{"git", "push", "--delete", "origin", release.version.String()})
|
||
|
|
||
|
if repo.RunAll(all) {
|
||
|
log.Info("EVERYTHING OK. RERELEASED", repo.GetGoPath())
|
||
|
repo.Reload()
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
log.Info("SOMETHING FAILED")
|
||
|
return false
|
||
|
}
|