diff options
Diffstat (limited to 'update.go')
| -rw-r--r-- | update.go | 72 |
1 files changed, 61 insertions, 11 deletions
@@ -16,24 +16,33 @@ func (rs *RepoStatus) Update() { } log.Log(WARN, "Update() START") duration := timeFunction(func () { + // do things that are safe even if the git tree is dirty rs.path.Set(rs.repopath) rs.getCurrentBranchName() rs.window.Title(rs.repopath + " GO repo Details") rs.getCurrentBranchVersion() - rs.getLastTagVersion() rs.populateTags() - // rs.checkDirty() this runs - log.Log(WARN, "") - log.Log(WARN, "checkoutBranch master") - rs.checkoutBranch("master") - log.Log(WARN, "") - log.Log(WARN, "checkoutBranch devel") - rs.checkoutBranch("devel") - log.Log(WARN, "") - log.Log(WARN, "checkoutBranch jcarr") - rs.checkoutBranch("jcarr") + if rs.checkDirty() { + if rs.dirtyLabel.Get() != "no" { + rs.DisableEverything() + return + } + + // rs.checkDirty() this runs + log.Log(WARN, "") + log.Log(WARN, "checkoutBranch master") + rs.checkoutBranch("master") + log.Log(WARN, "") + log.Log(WARN, "checkoutBranch devel") + rs.checkoutBranch("devel") + log.Log(WARN, "") + log.Log(WARN, "checkoutBranch jcarr") + rs.checkoutBranch("jcarr") + + rs.recommend() + } }) rs.setSpeed(duration) log.Log(WARN, "Update() END") @@ -55,3 +64,44 @@ func (rs *RepoStatus) setSpeed(duration time.Duration) { rs.speed.Set("FAST") } } + +// disable all things besides Update() button +func (rs *RepoStatus) DisableEverything() { + + // choosing a major, minor or revision + rs.major.Disable() + rs.minor.Disable() + rs.revision.Disable() + + // disable adding a tag message + rs.versionMessage.Disable() + + // disable the merge devel to master button + rs.develMerge.Disable() + + // disable the tag a new version button + rs.releaseVersion.Disable() +} + +// this means devel needs to be merged to master +func (rs *RepoStatus) EnableMergeDevel() { + rs.DisableEverything() + + rs.develMerge.Enable() +} + +// this means you need to release a new version of the master repository +func (rs *RepoStatus) EnableSelectTag() { + rs.DisableEverything() + + // choosing a major, minor or revision + rs.major.Enable() + rs.minor.Enable() + rs.revision.Enable() + + // disable adding a tag message + rs.versionMessage.Enable() + + // force there to be a commit message + rs.releaseVersion.Disable() +} |
