repostatus/update.go

58 lines
1.2 KiB
Go

package repostatus
import (
"errors"
"go.wit.com/log"
)
func (rs *RepoStatus) UpdateNew() {
log.Info("gui update", rs.pb.GetFullPath())
rs.updateNew()
}
func (rs *RepoStatus) updateNew() {
if !rs.Ready() {
log.Log(WARN, "can't update yet. ready is false")
log.Error(errors.New("Update() is not ready yet"))
return
}
pb := rs.pb
// store the current checked out branch name and version
rs.checkCurrentBranchName()
rs.checkCurrentBranchVersion()
// read in the tags
rs.populateTags()
// record if the repo is dirty
pb.CheckDirty()
// store the last tag version
rs.setLastTagVersion()
// store the master branch version
ver := pb.GetMasterVersion()
rs.mainBranchVersion.SetValue(ver)
rs.develBranchVersion.SetValue(pb.GetDevelVersion())
rs.userBranchVersion.SetValue(pb.GetUserVersion())
// populates a string into the rs.gitState widget
// todo: make the values from this function a bit cleaner
rs.CheckGitState()
}
func (rs *RepoStatus) Update() {
if !rs.Ready() {
log.Log(WARN, "can't update yet. ready is false")
log.Error(errors.New("Update() is not ready yet"))
return
}
log.Log(INFO, "Update() START")
rs.updateNew()
log.Log(INFO, "Update() END")
}